新建mfc工程receive,:WORDwVersionRequested; WSADATAwsaData; interr; wVersionRequested=MAKEWORD(2,2); err=WSAStartup(wVersionRequested,&wsaData); if(err!=0){ returnFALSE; } if(LOBYTE()!=2|| HIBYTE()!=2){ WSACleanup(); returnFALSE; }项目配置属性-链接器-输入-附加依赖项-*: SOCKETm_socket;SOCKETm_socket1;Dlg类增加BOOL型函数InitSocketboolCreceiveDlg::InitSocket(){ m_socket=WSASocket(,SOCK_DGRAM,0,NULL,0,0); if(INVALID_SOCKET==m_socket) { MessageBox("创建套接字失败!"); returnFALSE; } SOCKADDR_INaddrSock; =htonl(INADDR_ANY); =; =htons(3000); if(SOCKET_ERROR==bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR))) { MessageBox("绑定失败!"); returnFALSE; } if(SOCKET_ERROR==WSAAsyncSelect(m_socket,m_hWnd,UM_SOCK,FD_READ)) { MessageBox("注册网络读取事件失败!"); returnFALSE; } m_socket1=WSASocket(,SOCK_DGRAM,0,NULL,0,0); if(INVALID_SOCKET==m_socket1) { MessageBox("创建套接字失败!"); returnFALSE; } SOCKADDR_INaddrSock1; =htonl(INADDR_ANY); =; =htons(3001); if(SOCKET_ERROR==bind(m_socket1,(SOCKADDR*)&addrSock1,sizeof(SOCKADDR))) { MessageBox("绑定失败!"); returnFALSE; } if(SOCKET_ERROR==WSAAsyncSelect(m_socket1,m_hWnd,UM_SOCK1,FD_READ)) { MessageBox("注册网络读取事件失败!"); returnFALSE; } returnTRUE;}:OnInitDialog中加入InitSocket();
基于消息的异步套接字UDP接收 来自淘豆网www.taodocs.com转载请标明出处.