Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32382
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 125
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-09 12:46
文章分类

全部博文(13)

文章存档

2013年(13)

我的朋友

分类: WINDOWS

2013-10-19 18:03:55

    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) |
0

上一篇:VC++ 获取本机IP

下一篇:没有了

给主人留下些什么吧!~~