如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
最近由于本人对网络编程的喜爱,所以对一点关于TCP协议socket编程的总结。由于本人的能力有限,写的可能过于简单,只适合初学者,欢迎大牛提出宝贵的意见,本人会感激不尽的。废话少说了,进入正题。(下面代码是基于VC6.0)下图是一般socket编程图。服务器的建立:获取的本机名,用来解析得到本机的IP地址的;接着就绑定IP地址成功,然后服务器就处于监听状态,等待客户端的连接。也就是接下来就是TCP/IP的三次握手的操作,该操作成功了服务器和客户端就可以进行通信了。以下是注释代码:[cpp]HYPERLINK"http://blog.csdn.net/shiren_bod/article/details/6647022"\o"viewplain"viewplainHYPERLINK"http://blog.csdn.net/shiren_bod/article/details/6647022"\o"copy"copyHYPERLINK"http://blog.csdn.net/shiren_bod/article/details/6647022"\o"print"printHYPERLINK"http://blog.csdn.net/shiren_bod/article/details/6647022"\o"?"?voidsocketConnect(){charServer_name[128];WSADATAwsaData;structhostent*hp;structsockaddr_inaddrServer;WSAStartup(0x202,&wsaData);sockfd=socket(AF_INET,SOCK_STREAM,0);//socketgethostname(Server_name,128);hp=gethostbyname(Server_name);//获取本机名printf("本机名:%s\n",Server_name);memset(&addrServer,0,sizeof(addrServer));//初始化memcpy(&(addrServer.sin_addr),hp->h_addr,hp->h_length);//设置服务器的IP地址addrServer.sin_family=AF_INET;//设置版本addrServer.sin_port=htons((unsignedshort)SERVER_PORT);//设置端口号//bind....绑定ip地址和端口号if(SOCKET_ERROR==bind(sockfd,(LPSOCKADDR)&addrServer,sizeof(addrServer))){printf("Bindsocketerror!\n");//exit(1);}else{printf("绑定socketsuccess...\n");}listen(sockfd,5);//listening...监听printf("服务器监听状态...\n");ZeroMemory((void*)&addrtemp,sizeof(addrtemp));nlen=sizeof(addrtemp);connfd=accept(sockfd,&addrtemp,&nlen);//accept...三次握手printf("acceptclientsuccess...\n\n");}voidsocketConnect(){charServer_name[128];WSADATAwsaData;structhostent*hp;structsockaddr_inaddrServer;WSAStartup(0x202,&wsaData);sockfd=socket(AF_INET,SOCK_STREAM,0);//socketgethostname(Server_name,128);hp=gethostbyname(Server_name);//获取本机名printf("本机名:%s\n",Server_name);memset(&addrServer,0,sizeof(addrServer));//初始化memcpy(&(addrServer.sin_addr),hp->h_addr,hp->h_length);//设置服务器的IP地址addrServer.sin_family=AF_INET;//设置版本addrServer.sin_port=htons((unsignedshort)SERVER_PORT);