由于我阅读了大量关于套接字编程的文本和代码,我决定按照以下方式进行:
TCP服务器:
- 套接字多路复用
- 异步I/O
我希望能够同时处理800-1200个客户端连接。如何处理客户端缓冲区?我阅读的每个示例都只使用一个唯一的缓冲区。为什么人们不使用类似以下的内容:
typedef struct my_socket_tag {
socket sock;
char* buffer;
} client_data;
现在我能够将缓冲区从接收线程分配给调度请求线程,而在处理第一个客户端特定的缓冲区时,接收可以在另一个套接字上继续进行。
这是常见做法吗?我有什么遗漏的地方吗?
请给出一些提示,下次如何改进我的问题,谢谢!