WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );//版本号1.1
//1.加载套接字库
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
return;
//判断是否我们请求的winsocket版本,如果不是则调用WSACleanup终止winsocket的使用并返回
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=inet_addr("192.168.0.99");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(5566);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
listen(sockSrv,1);
char recvBuf[512] ;
memset(recvBuf,0,512);
SOCKADDR_IN addrClient ;
int len = sizeof(SOCKADDR) ;
while (1)
{
recvfrom(sockSrv,recvBuf,512,0,(SOCKADDR*)&addrClient,&len) ;
if ( !recvBuf )
break ;
sendto(sockSrv,"0123456789",strlen("0123456789")+1,0,(SOCKADDR*)&addrClient,len) ;
}
closesocket( sockSrv ) ;
WSACleanup();
生成日志文件在D盘
CString getInfo(recvBuf);
CAtlFile *pFile = new CAtlFile();
if (pFile)
{
HRESULT r = pFile->Create(_T("d:\\my_Thread_log.txt"),GENERIC_WRITE, FILE_SHARE_READ,OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL,NULL);
pFile->Write(getInfo.GetBuffer(), getInfo.GetLength()*2);
}
if(pFile)
{
pFile->Close();
delete pFile;
pFile = NULL;
}
阅读(434) | 评论(0) | 转发(0) |