C语言实现Socket编程.docx
上传人:qw****27 上传时间:2024-09-12 格式:DOCX 页数:4 大小:15KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

C语言实现Socket编程.docx

C语言实现Socket编程.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言实现Socket编程tcpsrv.c的内容如下:#include<winsock2.h>#include<stdio.h>#defineRECEIVE_MAX_LENGTH100#defineSEND_MAX_LENGTH100voidmain(){WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0){return;}if(LOBYTE(wsaData.wVersion)!=1||HIBYTE(wsaData.wVersion)!=1){WSACleanup();return;}SOCKETsocksrv=socket(AF_INET,SOCK_STREAM,0);//监听的套接字SOCKADDR_INsocketadd;socketadd.sin_addr.S_un.S_addr=htonl(INADDR_ANY);socketadd.sin_family=AF_INET;socketadd.sin_port=htons(7001);if(SOCKET_ERROR==bind(socksrv,(SOCKADDR*)&socketadd,sizeof(SOCKADDR))){printf("binderr\n");return;}if(SOCKET_ERROR==listen(socksrv,5)){printf("listenerr");return;}SOCKADDR_INsockclient;intlen=sizeof(SOCKADDR);while(1){SOCKETsockconn=accept(socksrv,(SOCKADDR*)&sockclient,&len);//建立连接的套节字if(INVALID_SOCKET==sockconn){printf("accerr\n");return;}charsendData[SEND_MAX_LENGTH];//scanf("%s",sendData);//strcpy(sendData,"helloclient,i\'mserver");sprintf(sendData,"%s","helloclient,i\'mserver");if(SOCKET_ERROR==send(sockconn,sendData,strlen(sendData)+1,0)){printf("senderr\n");return;}chargetData[RECEIVE_MAX_LENGTH];recv(sockconn,getData,RECEIVE_MAX_LENGTH,0);printf("%s\n",getData);closesocket(sockconn);}}tcpclient.c的内容如下:#include<winsock2.h>#include<stdio.h>#defineRECEIVE_MAX_LENGTH100#defineSEND_MAX_LENGTH100voidmain(){WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0){return;}if(LOBYTE(wsaData.wVersion)!=1||HIBYTE(wsaData.wVersion)!=1){WSACleanup();return;}SOCKETsocketClient=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_INclientadd;clientadd.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");clientadd.sin_family=AF_INET;clientadd.sin_port=htons(7001);if(SOCKET_ERROR==connect(socketClient,(SOCKADDR*)&clientadd,sizeof(SOCKADDR))){printf("conerr\n");return;}chargetData[RECEIVE_MAX_LENGTH];if(recv(socketClient,getData,RECEIVE_MAX_LENGTH,0)==SOCKET_ERROR){printf("recverr\n");return;}else{printf("