我正在制作一个 unix ssl 服务器/客户端。到目前为止,我已经FD_SET
使用 select 实现了在一个主服务器进程中同时处理所有连接。但是由于__FD_SETSIZE
客户端的数量只能是1024。我需要增加客户端的数量和服务器的效率。改变__FD_SETSIZE
有潜在的问题(显然?)所以我被卡住了。
到目前为止,网络包括:errno.h 检测、信号检测 -> 原子处理、fd_set -> select()、基于流套接字的成功通信。
如果有人能告诉我该怎么做,我将不胜感激?我fork()
应该在 1024 之后(这会带来自己的问题,如果它甚至可行吗?)我是实现线程来处理每个客户端请求,还是只处理客户端数据或两者兼而有之?
您认为最好的网络架构是什么?请记住,它是一个基于套接字流的连接,旨在处理尽可能多的惩罚并允许尽可能多的客户端访问服务器。