**************************************
加载Winsock库
****************************************************************/
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup( );
return;
}
/**************************************************************
第一步:创建Winsock套接字
****************************************************************/
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,(const sockaddr*)&addrSrv,sizeof(SOCKADDR));
/**************************************************************
第三步:等待并接受客户端发送的消息
****************************************************************/
SOCKADDR_IN addrClient;
char recvBuf[100];
int len=sizeof(SOCKADDR);
recvfrom(sockSrv,recvBuf,100,0,(sockaddr*)&addrClient,&len);
printf("%s",recvBuf);
char sendBuf[100];
sprintf(sendBuf,"This is UDP Serve! Welcome %s",inet_ntoa(addrClient.sin_addr));
sendto(sockSrv,sendBuf,strlen(sendBuf)+1,0,
(const sockaddr*)&addrClient,sizeof(SOCKADDR));
closesocket(sockSrv);
WSACleanup();
system("pause");
}
/**************************************************************
基于UDP的客户端应用程序示例代码
****************************************************************/
#include "stdafx.h"
#include
#include
#include
#pragma comment(lib,"ws2_32.lib")
void main()
{
/**************************************************************
加载Winsock库
****************************************************************/
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup( );
return;
}
/**************************************************************
第一步:创建Winsock套接字
****************************************************************/
SOCKET sockClient=socket(AF_INET,SOCK_DGRAM,0);
/**************************************************************
第一步:向服务器发送消息
****************************************************************/
SOCKADDR_IN addrClient;
addrClient.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrClient.sin_family=AF_INET;
addrClient.sin_port=htons(6000);
sendto(sockClient,"My name is UDP Client!",strlen("My name is UDP Client!")+1,0,
(const sockaddr*)&addrClient,sizeof(SOCKADDR));
char recvBuf[100];
int len=sizeof(SOCKADDR);
recvfrom(sockClient,recvBuf,100,0,(sockaddr*)&addrClient,&len);
printf("%s",recvBuf);
closesocket(sockClient);
WSACleanup();
system("pause");
}
运行结果如下:

<script type=text/java script> if ($ != jQuery) {