这是在学《Windows网络编程(第二版)》第六章时制作的一个例子 由于书中没有给出简洁的例子,本人在学这里时就费了很多时间。 现在把完成的代码贴出来,供大家参考。 下面包括了主程序部分,工作线程在(2)中贴出,由于代码太长。 本程序在VS2003编译器编译运行。在6.0下可能需要稍加修改。 #include <iostream> #include <winsock2.h> #include <ws2tcpip.h> #include <mswsock.h> //微软扩展的类库 using namespace std; #define SEND 0 #define RECV 1 #define ACCEPT 2 #define DATA_LENGTH 1000 //单句柄数据定义 typedef struct _PER_HANDLE_DATA { SOCKET socket; //相关的套接字 SOCKADDR_STORAGE clientAddr; //客户端的地址 }PER_HANDLE_DATA,*LPPER_HANDLE_DATA; //但IO操作数据 typedef struct{ OVERLAPPED overlapped; WSABUF buffer; //一个数据缓冲区,用于WSASend/WSARecv中的第二 |
AcceptEx函数与完成端口的结合使用例子
最新推荐文章于 2021-05-24 00:00:35 发布
本文提供了一个示例,详细介绍了如何在Windows网络编程中将AcceptEx函数与I/O完成端口(IOCP)相结合,以实现高效且并发的套接字连接接受。通过这种方式,可以优化服务器的性能,处理大量并发客户端连接。
摘要由CSDN通过智能技术生成