c++ UDP

来源:互联网 发布:you know nothing 知乎 编辑:程序博客网 时间:2024/05/14 20:03


c++ UDP

2008年11月7日

server端

#include <Winsock2.h>
#include <iostream>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int main()

 
 WSADATA wsaData;
 if( WSAStartup( MAKEWORD( 2, 2 ), &wsaData )!=0)
 {
  return 0;
 }
 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(1986);
 bind(sockSrv, (SOCKADDR *)&addrSrv,sizeof(SOCKADDR));
    SOCKADDR_IN addrClient;
 int len=sizeof(SOCKADDR);
 char recvBuf[100];
 recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
    cout<<recvBuf<<endl;
 closesocket(sockSrv);
 WSACleanup();
}

client端

#include <Winsock2.h>
#include <iostream>
#pragma  comment(lib,"ws2_32.lib")
using namespace std;
int main()
{
 WSADATA wsaData;
 if( WSAStartup(MAKEWORD( 2, 2 ), &wsaData )!=0);
    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(1986);
 sendto(sockClient,"客户端发送到服务端",strlen("客户端发送到服务端")+1,0,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
 closesocket(sockClient);
 WSACleanup();
 return 0;
}
在VC++2005下调试通过

原创粉丝点击