类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
新学套接字编程,请各位大虾讲讲此函数的用法及使用场景
网友回答:
用CAsyncSocket,封装好的,自己写一个类继承它就行了,CAsyncSocket会帮你WSAAsyncSelect。个人建议意见是永远不要自己WSAAsyncSelect。
CAsyncSocket类是不错 但是是用 Windows Socket 1.1版的
现在都用2.2版了吧
对楼上朋友的看法不太赞成,可以大胆尝试WSAAsyncSelect
我个人就尝试并成功将CAsyncSocket中的OnReceive消息处理改写为Winsock2版
只是一开始有些反应迟钝而已,顶住!
WSAAsyncSelect将某一个窗体hWnd设定为接受事件,并需要另外定义有处理事件消息的函数。
在你创建完成bind后,就可以用WSAAsyncSelect,其中将预设窗口和处理函数都作为WSAAsyncSelect的参数,如果是TCP协议的Socket则再listen()一下
然后就等消息吧,一旦有个事件发生,预设的窗体就会将该事件截获,并根据事件lParam来判断属于何种事件,然后将通知相应的事件处理函数来处理。
顺序挺简单的吧,主要就是自定义一个消息机制,再参照一下函数的参数列表,很快就可以明白了。
以上。
谢谢。
这个是windows窗口异步方式,可以将socket消息捆绑到windows窗口消息上