资源描述:
《C语言实现Socket编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C语言实现Socket编程tcpsrv.c的内容如下:#include#include#defineRECEIVE_MAX_LENGTH100#defineSEND_MAX_LENGTH100voidmain(){ WORDwVersionRequested; WSADATAwsaData; interr; wVersionRequested=MAKEWORD(1,1); err=WSAStartup(wVersionRequested,&wsaData); if(err!=0
2、) { return; } if(LOBYTE(wsaData.wVersion)!=1
3、
4、HIBYTE(wsaData.wVersion)!=1) { WSACleanup(); return; } SOCKET socksrv=socket(AF_INET,SOCK_STREAM,0);//监听的套接字 SOCKADDR_INsocketadd; socketadd.sin_addr.S_un.S_addr=htonl(INADDR_ANY); so
5、cketadd.sin_family=AF_INET; socketadd.sin_port=htons(7001); if(SOCKET_ERROR==bind(socksrv,(SOCKADDR*)&socketadd,sizeof(SOCKADDR))) { printf("binderr"); return; } if(SOCKET_ERROR==listen(socksrv,5)) { printf("listenerr"); return; } SOCKA
6、DDR_INsockclient; intlen=sizeof(SOCKADDR); while(1) { SOCKETsockconn=accept(socksrv,(SOCKADDR*)&sockclient,&len);//建立连接的套节字 if(INVALID_SOCKET==sockconn) { printf("accerr"); return; } charsendData[SEND_MAX_LENGTH]; //scanf("%s"
7、,sendData); //strcpy(sendData,"helloclient,i'mserver"); sprintf(sendData,"%s","helloclient,i'mserver"); if(SOCKET_ERROR==send(sockconn,sendData,strlen(sendData)+1,0)) { printf("senderr"); return; } chargetData[RECEIVE_MAX_LENGTH];
8、 recv(sockconn,getData,RECEIVE_MAX_LENGTH,0); printf("%s",getData); closesocket(sockconn); }}tcpclient.c的内容如下:#include#include#defineRECEIVE_MAX_LENGTH100#defineSEND_MAX_LENGTH100voidmain(){ WORDwVersionRequested; WSADATAwsaData;
9、 interr; wVersionRequested=MAKEWORD(1,1); err=WSAStartup(wVersionRequested,&wsaData); if(err!=0) { return; } if(LOBYTE(wsaData.wVersion)!=1
10、
11、HIBYTE(wsaData.wVersion)!=1) { WSACleanup(); return; } SOCKETsocketClient=soc
12、ket(AF_INET,SOCK_STREAM,0); SOCKADD