3

在 Comet/Reverse Ajax/PubSub 中,底层技术/基础是长轮询。所以连接保持打开一分钟左右。
根据我对网络和操作系统的了解,TCP/IP 仅支持 65535 个端口,所以我的问题是任何服务器如何同时支持超过 65535 个连接?

在我正在构建的应用程序中,所有用户都将同时连接,并希望从服务器进行实时更新..比如股票实时更新..

干杯,

4

2 回答 2

6

您是正确的,因为有 65535 个唯一端口,但是 TCP 服务器应用程序允许许多客户端连接到服务器上的同一端口。例如,在 Web 服务器中,所有客户端都连接到端口 80。连接由 4 元组(src-address、src-port、dest-address、dest-port)唯一标识。

在设计实现时,您肯定会想了解所谓的C10K 问题。

于 2010-01-25T19:52:00.557 回答
4

每个连接的属性如下:

  • 源IP(可以是任何)
  • 源端口(可以是 1024-65535 范围内的任何端口)
  • 目标IP(您的服务器IP)
  • 目标端口(您的应用程序正在运行的特定端口)

因此,与服务器的连接数受所有可能的 ip 数乘以 64000(大约)的限制。到目前为止还没有服务器可以处理它...... :)

于 2010-01-25T19:51:00.320 回答