套接口库函数参考(八十六)

2010-12-30 21:03:01 · 作者: · 浏览: 59231
参数传递.

       当某一套接口s上发生了一个已命名的网络事件,应用程序窗口hWnd会接收到消息wMsg.wParam参数标识了网络事件发生的套接口.lParam的低字指明了发生的网络事件.lParam的高字则含有一个错误代码.该错误代码可以是winsock.h中定义的任何错误.

       错误代码和事件可以通过WSAGETSELECTERRORHWSAGETSELECTEVENT宏从lParam中取出.定义如下:

                #define WSAGETSELECTERROR(lParam)            HIWORD(lParam)

                #define WSAGETSELECTEVENT(lParam)            LOWORD(lParam)

注意:accept()调用和为改变事件或wMsgWSAAsyncSelect()调用中有一个计时窗口.应用程序如果需要给侦听的和调用过accept()的套接口以不同的wMsg,它就应该在侦听的套接口上请求FD_ACCEPT事件,然后在accept()调用后设置相应的事件.由于FD_ACCEPT从不发送给已连接的套接口,FD_READ,FD_WRITE,FD_OOBFD_CLOSE也从不发送给侦听套接口,所以不会产生困难.

       使用以上的宏将最大限度的提高应用程序的可移植性.