原文地址::http://blog.youkuaiyun.com/thinkscape/article/details/4037483
server:
- #include <Winsock2.h>
- #include <stdio.h>
- void main(){
-
- WORD wVersionRequested;
- WSADATA wsaData;
- int err;
- wVersionRequested=MAKEWORD(2,2);
- err=WSAStartup(wVersionRequested,&wsaData);
- if(err!=0){
- return;
- }
- if(LOBYTE(wsaData.wVersion)!=2 || HIBYTE(wsaData.wHighVersion)!=2)
- {
- WSACleanup();
- return ;
- }
-
- SOCKET sockSrv=socket(AF_INET,SOCK_DGRAM,0);
-
- SOCKADDR_IN addrSrv;
- addrSrv.sin_addr.S_un.S_addr =htonl(INADDR_ANY);
- addrSrv.sin_family=AF_INET;
- addrSrv.sin_port=htons(6000);
- bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
-
- SOCKADDR_IN addrClient;
- int len=sizeof(SOCKADDR);
- char recvBuf[100];
-
- recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
- printf("%s/n",recvBuf);
- closesocket(sockSrv);
- WSACleanup();
- }
client:
- #include <Winsock2.h>
- #include <stdio.h>
- void main(){
-
- WORD wVersionRequested;
- WSADATA wsaData;
- int err;
- wVersionRequested=MAKEWORD(2,2);
- err=WSAStartup(wVersionRequested,&wsaData);
- if(err!=0){
- return;
- }
- if(LOBYTE(wsaData.wVersion)!=2 || HIBYTE(wsaData.wHighVersion)!=2)
- {
- WSACleanup();
- return ;
- }
-
- SOCKET sockClient=socket(AF_INET,SOCK_DGRAM,0);
-
- SOCKADDR_IN addrSrv;
- addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
- addrSrv.sin_family=AF_INET;
- addrSrv.sin_port=htons(6000);
- sendto(sockClient,"Hello",strlen("Hello")+1,0,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
-
- closesocket(sockClient);
- WSACleanup();
- }
注意:
server 和 client 都要"项目属性"--->"配置属性"----> "链接"----> "输入" --->"附加依赖项"中添加"ws2_32.lib"