1. WinSokcet Architecture
2. 关于AcceptEx
使用此函数时,要包含头文:Mswsock.h,同时要链接:Mswsock.lib。可在源程序中加入下面的语句,这样在编译时,将自动链接Mswsock.lib。
#pragma comment(lib,” Mswsock.lib”)
下面是使用AcceptEx函数的示例代码:
#define STRICT
#define _
WIN32_WINNT 0x0500 // Windows 2000 or later
#define WIN32_LEAN_AND_MEAN
#include
#include
#include
#pragma comment(lib,"Ws2_32.lib")
#pragma comment(lib,"Mswsock.lib")
int main()
{
const int BUFSIZE = 48;
LPFN_ACCEPTEX lpfnAcceptEx = NULL;
GUID GuidAcceptEx = WSAID_ACCEPTEX;
DWORD dwBytes = 0;
SOCKET ListenSocket = INVALID_SOCKET;
SOCKET ClientSocket = INVALID_SOCKET;
HANDLE hCompPort = INVALID_HANDLE_VALUE;
OVERLAPPED ol;
char buf[BUFSIZE];
// Init WinSock Lib ....
ListenSocket = WSASocket(AF_IPX, SOCK_STREAM, NSPROTO_SPX, NULL, 0, WSA_FLAG_OVERLAPPED);
ClientSocket = WSASocket(AF_IPX, SOCK_STREAM, NSPROTO_SPX, NULL, 0, WSA_FLAG_OVERLAPPED);
// Bind && Listen ....
// Associate the listening socket with the completion port
CreateIoCompletionPort((HANDLE)ListenSocket, hCompPort, (u_long)0, 0);