如何编写自己的生产Web服务器?

时间:2012-05-10 23:54:34

标签: select pthreads client-server fork

我正在制作一个unix ssl服务器/客户端。到目前为止,我已经使用select FD_SET实现了在一个主服务器进程中同时处理所有连接。但是由于__FD_SETSIZE,客户端数量只能是1024.我需要增加客户端数量和服务器效率。改变__FD_SETSIZE有潜在的问题(显然是?)所以我被困住了。

到目前为止,网络包括:errno.h检测,信号检测 - >原子处理,fd_set - > select(),成功的基于流套接字的通信。

如果有人能告诉我该怎么办,我真的很感激?在1024之后我会fork()(这会出现问题,如果它甚至可行吗?)我是否实现线程来处理每个客户端请求,或只是客户端数据或两者兼而有之?

您认为最好的网络架构是什么?请记住它是一个基于套接字流的连接,旨在尽可能多地处理惩罚,并允许尽可能多的客户端到服务器。

1 个答案:

答案 0 :(得分:1)

不要编写自己的生产Web服务器。

有太多open source servers的内容都是由那些比你更了解高连接性和SSL的人编写的。它们还具有经过测试的优势,使您无法通过自制服务器完成测试。