资源描述:
《socket编程的小例子(udp)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、使用vs演示时需要设置一下添加ws2_32.lib具体操作,添加位置:“项目”-》“属性”,之后出现界面点击输入“输入”后界面如下在“附加依赖项”后添加“ws2_32.lib”即可。服务器端程序#include"stdafx.h"#include#includeusingnamespacestd;voidmain(void){SOCKETsock;//1.启动SOCKET库,版本为2.0WORDwVersionRequested;WSADATAwsaDa
2、ta;interr;wVersionRequested=MAKEWORD(2,0);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0){cout<<"Socket2.0初始化失败,Exit!";return;}if(LOBYTE(wsaData.wVersion)!=2
3、
4、HIBYTE(wsaData.wVersion)!=0){WSACleanup();return;}//2.创建套接字sock=socket(AF_INET,SOCK_DG
5、RAM,0);if(sock==INVALID_SOCKET){cout<<"Socket创建失败,Exit!";return;}//3.绑定sockaddr_inmyaddr;//sockaddr_in相当于sockaddr结构memset(&myaddr,0,sizeof(myaddr));myaddr.sin_family=AF_INET;//如果绑定地址不是本机地址或者ADDR_ANY,则recvfrom函数不会正确接收,而是立刻返回//myaddr.sin_addr.s_addr=ine
6、t_addr("192.168.0.7");myaddr.sin_addr.s_addr=ADDR_ANY;//端口号必须和客户发往的端口号一致myaddr.sin_port=htons(7861);bind(sock,(sockaddr*)&myaddr,sizeof(myaddr));intfromlength=sizeof(SOCKADDR);charbuf[256]="";longnumber=0;while(1){number++;recv(sock,buf,sizeof(buf),0)
7、;cout<#includeusingnamespacestd;voidmain(){SOCKETsoc
8、k;//socketcharszMsg[]="thisisaUDPtestpackage";//被发送的字段//1.启动SOCKET库,版本为2.0WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD(2,0);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0){cout<<"Socket2.0初始化失败,Exit!";return;}if(LOBYTE(
9、wsaData.wVersion)!=2
10、
11、HIBYTE(wsaData.wVersion)!=0){WSACleanup();return;}//2.创建socket,sock=socket(AF_INET,//internetwork:UDP,TCP,etcSOCK_DGRAM,//SOCK_DGRAM说明是UDP类型0//protocol);if(sock==INVALID_SOCKET){cout<<"Socket创建失败,Exit!";return;}//3.设置发往的地址sockadd
12、r_inaddrto;//发往的地址memset(&addrto,0,sizeof(addrto));addrto.sin_family=AF_INET;//以127开头的ip,并且客户和服务器在同一个局域网,服务方都可以接收(相当于广播);//指定服务方ip的可以接收addrto.sin_addr.s_addr=inet_addr("127.0.0.1");//当然也可以换成自己机器的确切Ip//端口号必须和服务器绑定的端口号一致addrto.sin_port=htons(786