【发布时间】:2016-06-02 07:19:15
【问题描述】:
我想创建一个具有以下特点的 P2P 网络:
- 低延迟并不重要
- 丢包没关系
- 节点只会发送少量数据
- 不会有 NAT/防火墙问题,每个节点的公共 ip 上都有一个开放端口
- 每个节点都连接到其他每个节点
通常我会将 TCP 用于对时间要求不严格的任何事情,但最后一个要求会导致节点长时间有大量打开的连接。如果我没记错的话,使用 TCP 连接到 1000 个服务器意味着我必须使用 1000 个端口来处理这些连接。另一方面,UDP 只需要每个节点的一个端口。
所以我的问题是:TCP 是否能够在网络中处理上述要求,例如1000 个节点而不调整系统?在这种情况下,UDP 会更适合吗?对于这两种协议,还有什么会破坏交易的吗?
【问题讨论】:
-
这不是一个真正的编程问题。这是一个架构设计问题,也可能是一个网络问题。它可能是关于程序员或其他地方的主题,但就目前而言,它不在我们帮助中心定义的范围内。
-
建议查看TCP vs UDP 进行比较。将其与您的特征列表进行比较并做出选择。 UDP 很可能是最合适的选择。
标签: sockets networking tcp udp p2p