1:函数
1:TransmitFile,AcceptEx,ConnectEx,TransmitPackets,DisconnectEx,WSARecvMsg,GetAcceptExSockaddrs他们在MSWSOCK.H中定义
TransmitFile,AcceptEx,GetAcceptExSockaddrs在MSWSOCK.DLL中实现
2:我们可以通过静态连接mswsock.lib来使用这些函数,但这样做实际上每次都会调用WSAIoctl()获得函数指针,我们还不如直接导出函数指针来使用
2:详解
1:AcceptEx:
1:基本知识
BOOL AcceptEx(
__in SOCKET sListenSocket,
__in SOCKET sAcceptSocket,
__in PVOID lpOutputBuffer, //指向一个缓冲区,缓存接收到连接后收到的第一块数据,然后是服务器本机地址
//和客户端远程地址,该参数必须制定
__in DWORD dwReceiveDataLength, //lpOutputBuffer大小,但不包括本机地址和远程地址的大小,所以Windwos会在
//lpOutputBuffer之后追加这两个地址,如果此参数设置为0,则此函数会尽快建立连接,而不等待任何数据
__in DWORD dwLocalAddressLength, //本地地址字节数,大小只能为sizeof(SOCKADDR_IN)+16
__in DWORD dwRemoteAddressLength, //远程地址字节数,大小只能为sizeof(SOCKADDR_IN)+16
__out LPDWORD lpdwBytesReceived, //收到的数据大小,只有在同步模式下有意义
__in LPOVERLAPPED lpOverlapped