如何利用CAsyncSocket类实现UDP通信

 我来答
匿名用户
2017-08-27
展开全部
满意答案网友回答来自电脑之家-第一互动时尚科技门户2013-08-16呵呵整一个SOCKET盲还一上来就要用封装好的MFC类,哀分少啊,帮你说说吧建立一个新类从CAsyncSocketnbsp;publicnbsp;派生来,叫nbsp;MySock,然后在CXXXDlg的头文件加个变量nbsp;MySocknbsp;m_socket;nbsp;然后nbsp;CXXXDlg中的INITDIALOG初始化,nbsp;m_socket.Create(0,SOCK_DGRAM);nbsp;使用UDP恩首先你要考虑到服务器端也是使用UDP的协议的,然后就可以调用nbsp;m_socket.SendTo(buffer,strlen(buffer),3333,“xxx.xxx.xxx.xxx“);3333是服务器等待接收数据的端口,XXX.XXX.XXX.XXXnbsp;是服务器的IP,恩域名也可以如果服务器是TCP的话要用Connect连接然后用Send方法发送数据,使用完调用close关闭SOCKET,也疴可以不关,类销毁时会自动释放所使用资源,恩至于要等待接收数据,UDP需要BIND,可以在CREATE的时候就绑定上,而TCP不光要绑定上还要listen监听,TCP有连接来后要用Accept接收连接,给它一个新的nbsp;CAsyncSocket,呵呵就说这么点,对了在BOOLnbsp;CXXXApp::InitInstance()的初始化函数中添加nbsp;ifnbsp;(!AfxSocketInit())nbsp;{nbsp;nbsp;AfxMessageBox(IDP_SOCKETS_INIT_FAILED);nbsp;nbsp;returnnbsp;FALSE;nbsp;}还有头文件nbsp;#includenbsp;amp;lt;afxsock.hamp;gt;nbsp;nbsp;//nbsp;MFCnbsp;socketnbsp;extensionsnbsp;.或者你在创建工程时选择上WINSOCKET,恩对了CSocket是堵塞的套接字,需要同步很强的工作再选择他,一般使用异步的,给分!查看原帖>>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式