⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.cpp~

📁 tcp/ip客户端测试源码
💻 CPP~
字号:
#include <stdio.h>#include <netinet/in.h>
#include <netinet/tcp.h>
#include <sys/socket.h>#include <errno.h>
#include <netdb.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <termios.h>#include <string.h>//char g_center_host[16] = "127.0.0.1";char g_center_port[8]  = "8001";//int connect_to_center(int trynum,int wait_second);int tcp_connect2(const char *host, const char *serv);int main(int argc, int *argv[]){/*	if (argc<3)	{		printf( "para too few!\n" );		return -1;	}//	*/	int ret;	ret = connect_to_center( 500, 1 );			usleep(10 * 1000 *1000 );	close( ret );	}int tcp_connect2(const char *host, const char *serv)
{
     struct sockaddr_in addr;
     struct hostent *hostaddr;
     int s;
     int reuse;
     int port;
     
     port=atoi(serv);
     s = socket(AF_INET, SOCK_STREAM, 0);
     if (s == -1) return -1;
     
     hostaddr=gethostbyname(host);
     if(!hostaddr)
     {
     	return -1;
     }	
     
     bzero(&addr,sizeof(addr));
  	
     addr.sin_family = AF_INET;
     addr.sin_port = htons(port);
     addr.sin_addr.s_addr = htonl(INADDR_ANY);
     memcpy(&addr.sin_addr.s_addr,hostaddr->h_addr,hostaddr->h_length);     //inet_
     		
     if (connect(s, (struct sockaddr *) &addr, sizeof(addr)) == -1) {
	  close(s);
	  return -1;
     }
     return (s);
}

int connect_to_center(int trynum,int wait_second)
{
	int fd,i=0;
	for(;;)
	{		printf( "count: %d\n", i );
		fd = tcp_connect2(g_center_host, g_center_port);
		if(fd > 0) 		{			printf( "connect success.\n" );						//printf( "write: hello\n" );			//write ( fd, "hello", 6 );			return fd;		}		printf( "connect failed!\n" );
		if(trynum == -1 || i++ < trynum)
		{
			sleep(wait_second);
			continue;
		}
		else break;
	}
	return fd;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -