zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

udpsocket客户端和udp服务端程序示例分享

客户端程序 示例 分享 服务端 UDP
2023-06-13 09:15:19 时间

UdpSocket

复制代码代码如下:


#include<WinSock2.h>
#include<stdio.h>
#pragmacomment(lib,"ws2_32.lib")
intmain()
{
//initialsocketlibrary
WORDwVerisonRequested;
WSADATAwsaData;
interr;
wVerisonRequested=MAKEWORD(1,1);
err=WSAStartup(wVerisonRequested,&wsaData);
if(err!=0)
{
return-1;
}
//if(LOBYTE(wsaData.wVersion)!=1||
//HIBYTE(wsaData.wHighVersion)!=1)
//{
//WSACleanup();
//return-1;
//}

//createsocket
SOCKETsockServer=socket(AF_INET,SOCK_DGRAM,0);

//bindsocket
SOCKADDR_INaddrServer;
addrServer.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000);
bind(sockServer,(SOCKADDR*)&addrServer,sizeof(addrServer));

//receive
SOCKADDR_INaddrClient;
intlen=sizeof(addrClient);
charrecvBuf[100];
recvfrom(sockServer,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
printf("%s",recvBuf);

//closesocket
closesocket(sockServer);
WSACleanup();
}

UdpClient

复制代码代码如下:


#include<WinSock2.h>
#include<stdio.h>

#pragmacomment(lib,"ws2_32.lib")

intmain()
{
//initialsocketlibrary
WORDwVerisonRequested;
WSADATAwsaData;
interr;
wVerisonRequested=MAKEWORD(1,1);
err=WSAStartup(wVerisonRequested,&wsaData);
if(err!=0)
{
return-1;
}
//if(LOBYTE(wsaData.wVersion)!=1||
//HIBYTE(wsaData.wHighVersion)!=1)
//{
//WSACleanup();
//return-1;
//}

//createsocket
SOCKETsockClient=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_INaddrServer;
addrServer.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000);

//send
charsendBuf[100]="thisislisi\n";
sendto(sockClient,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));

//closeconnectionsocket
closesocket(sockClient);

//cleansocketlibrary
WSACleanup();
}