在Linux上建立TCP连接需要多少内存?

时间:2016-09-09 16:03:31

标签: sockets tcp linux-kernel network-programming

我正在编写一个服务器守护程序(在C中)以在Linux下运行,我需要选择用于向我的用户发送通知消息的算法。我有两个选择:

  1. 即可。为所有注册用户建立连接并使其保持活动状态。当消息到达时,通过建立的TCP连接将其推送到客户端。
  2. 轮询即可。从客户端每60秒做一次connect(),检查是否有消息并断开连接。缺点是消息不会立即到达客户端。
  3. 要确定使用哪种方法,我需要知道已建立的连接在内核端需要多少内存。我可以自己计算用户空间需要多少内存,但我不知道网络内容如何在Linux内核中运行。所以,我有两个问题:你建议我实施哪种方法,以及建立的TCP连接(目前不传输数据)需要多少资源?该守护进程将为数千名用户提供数据,其中一些用户经常使用该服务,其中一些用户没有。

0 个答案:

没有答案