#include"winsoc"> #include"winsoc" />
简单UDPsocket编程

简单UDPsocket编程

ID:37780631

大小:44.00 KB

页数:10页

时间:2019-05-31

简单UDPsocket编程_第1页
简单UDPsocket编程_第2页
简单UDPsocket编程_第3页
简单UDPsocket编程_第4页
简单UDPsocket编程_第5页
资源描述:

《简单UDPsocket编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、服务器端//ntUdpServer.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include#include"winsock2.h"//winsock2.2library#pragmacomment(lib,"ws2_32.lib")#definePORT8888#defineADDR"127.0.0.1"intmain(intargc,char*argv[]){WSADATAwsock;SOCKETsersocket;SOCKADDR_INserAddr;ints

2、erAddrsize=sizeof(serAddr);intnRet=0;charbuf[1024];//intPORT;//char*ADDR;//PORT=atoi(argv[2]);//ADDR=argv[1];//初始化Winsock2.2printf("InitialisingWinsock...");if(WSAStartup(MAKEWORD(2,2),&wsock)!=0){printf("WSAStartup()failed%d",WSAGetLastError());exit(0);}printf("Initialisedsuccessfully.

3、n");//创建socketprintf("CreatingUDPSocket...");if((sersocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP))==INVALID_SOCKET){printf("Creationofsocketfailed%d",WSAGetLastError());WSACleanup();return0;}printf("UDPSocketCreatedsuccessfully.");//设置SOCKADDR_IN地址结构serAddr.sin_family=AF_INET;serAddr.s

4、in_port=htons(PORT);//serAddr.sin_addr.s_addr=INADDR_ANY;serAddr.sin_addr.s_addr=inet_addr(ADDR);//绑定套接字if(bind(sersocket,(SOCKADDR*)&serAddr,sizeof(serAddr))==SOCKET_ERROR){printf("bindfailedwitherror%d",WSAGetLastError());closesocket(sersocket);WSACleanup();return0;}printf("Waitingtoreceiv

5、edata...");for(inti=0;;i++){if((nRet=recvfrom(sersocket,buf,sizeof(buf),0,(SOCKADDR*)&serAddr,&serAddrsize))==SOCKET_ERROR){printf("ERROR:recvfromfailedwitherror%d",WSAGetLastError());closesocket(sersocket);WSACleanup();return0;}printf("Thedatawasreceivedfrom%s:%d",inet_ntoa(serAddr.sin_

6、addr),ntohs(serAddr.sin_port));//显示接收到的数据printf(buf);printf("");if((nRet=sendto(sersocket,buf,strlen(buf),0,(SOCKADDR*)&serAddr,sizeof(serAddr)))==SOCKET_ERROR){printf("ERROR:sendtofailedwitherror%d",WSAGetLastError());closesocket(sersocket);WSACleanup();return0;}//若发现exit则退出处理循环if(strncmp

7、(buf,"exit",sizeof("exit"))==0){printf("exitthereceivingloop");break;}}//关闭套接字closesocket(sersocket);WSACleanup();return0;}客户端//ntUdpClient.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include#includ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。