#include <Winsock2.h>
#include <stdio.h>
void main()
{
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;
}
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));
char recvBuf[100]={NULL};
char sendBuf[100]={NULL};
char tempBuf[200]={NULL};
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
while(1)
{
printf("请输入要发送到客户端的数据:\n");
gets(sendBuf);
sendto(sockSrv,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*)&addrClient,len);
//recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
//if('q'==recvBuf[0])
//{
// sendto(sockSrv,"q",strlen("q")+1,0,(SOCKADDR*)&addrClient,len);
// printf("Chat end!\n");
// break;
//}
///*sprintf(tempBuf,"%s say : %s",inet_ntoa(addrClient.sin_addr),recvBuf);*/
// printf("%s\n",recvBuf);
}
closesocket(sockSrv);
WSACleanup();
}