【问题标题】:Whether I use 1 port for 1000 connections, or 1000 ports w/1 connection each?我是使用 1 个端口进行 1000 个连接,还是使用 1000 个端口,每个端口有 1 个连接?
【发布时间】:2013-11-27 15:11:41
【问题描述】:

我收到每个客户的大量信息,但我不知道如何处理。如果我对一个端口进行大量连接,它会起作用吗?现在,我使用只有一个客户端打开的 1000 个端口。我要改变吗?

【问题讨论】:

  • 如果您对一个端口进行大量连接,它将起作用。
  • 请提供有关您的客户端、服务器和数据处理问题的更多详细信息。

标签: tcp port limit connection


【解决方案1】:

通常,一个应用程序或应用程序的一个主要部分应该有自己的端口。对于连接到端口的每个客户端,您都会生成一个进程/创建一个线程来为其提供服务。服务完成并返回回复后,如果连接不是持久的,则关闭它。 毕竟,您的 PC 上只能打开 65535 个端口(理论上),而且并非所有这些端口都可用于私有(非系统)应用程序。 所以要走的路是为应用程序/主要应用程序功能提供一个端口。例如。 数据库管理系统(例如 DB2)的(理论上)最大限制为每个端口 64000 个连接。 http://pic.dhe.ibm.com/infocenter/pim/v6r0m0/index.jsp?topic=%2Fcom.ibm.wpc.adm.doc%2Fdata_admin%2Fwpc_con_managedb2connections.html

【讨论】:

  • 我会说一个 TCP 服务器最多可以有来自同一个 IP 的 2^16 个同时连接。例如。一台客户端机器可以有 2 个 IP,并且可以同时建立 2^17 个到同一服务器的 TCP 端口的连接。服务器连接到同一侦听端口的限制由客户端 IP:port 和 TCP 堆栈配置的唯一对数定义。
【解决方案2】:

多个客户端可以连接到同一个监听端口,所以大多数情况下你只需要打开1个端口(有些协议,比如ftp,使用多个端口)。它是唯一标识连接的客户端 IP/端口和服务器 IP/端口的组合,所以它工作得很好。有多种编程模型可让服务器同时为多个客户端提供服务。

【讨论】:

    猜你喜欢
    • 2020-05-03
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 2011-12-08
    • 2023-03-21
    • 2011-04-26
    • 1970-01-01
    相关资源
    最近更新 更多