大规模保持打开TCP / IP套接字

时间:2012-10-02 10:56:37

标签: sockets tcp

我想创建一个服务器基础结构,允许500个客户端同时连接所有客户端并具有无限连接。计划是让客户端连接到服务器上的TCP / IP套接字并使它们保持连接,服务器随机向客户端发送数据,客户端随机向服务器发送数据,类似于小型MMOG,但几乎没有任何数据。与每个客户每15-30秒进行TCP轮询相比,我提出了这个计划。

我的问题是,在保持这些连接打开的情况下,这会导致闲置时大量的服务器带宽使用吗?这是没有深入了解TCP的最佳方法吗?

2 个答案:

答案 0 :(得分:1)

TCP在空闲时不使用带宽,除非启用“keep-alive”,否则可能每隔几个字节(默认为2小时)。

500连接什么都不是,但epoll()是减少系统开销的不错选择。 5000个连接可能开始成为一个问题。

答案 1 :(得分:0)

带宽不是您的主要考虑因素,但是您可以打开的连接数量有限(尽管它非常高)。

但如果每15秒轮询一次就足够快,我认为保持连接开放是一种浪费。