【发布时间】:2013-01-01 09:07:33
【问题描述】:
我正在开发一个 P2P 应用程序,并将其扩展到数千万用户。我正在向每个其他对等方广播一个数据包并期待响应。在继续我的编码之前,我想确认我是否可以在不到一分钟的时间内将数据包发送到数以千万计的不同 IP 地址。如果它们都响应,那么我的应用程序甚至我的 PC 是否能够在这么短的时间内处理这么多的连接和数据包?
使用 TCP 和 Windows。
允许的最大 CPU 使用率:20%
互联网带宽:假设 2Mbps
使用 WinSock2 基于 C 编程的应用程序
假设普通 PC 具有 2 GB Ram、Core 2 Duo、2.8 GHz
【问题讨论】:
-
创建一个快速模拟测试。
-
是的,那是怎么回事?我应该创建数百万个线程同时向我发送数据包吗?我不认为我在这里拥有一台超级计算机......还有更好的选择吗?
-
恕我直言,我认为您还没有准备好开发这样的应用程序,更不用说将其扩展到数千万用户了。
-
@S.Swaroop 不,那太傻了。但是,如果无法编写这些功能需求的简单模拟/压力框架,那么我怀疑实际程序/协议的范围目前无法掌握。 (而且在这里编写模拟程序要容易得多。)
-
你不能用 TCP 广播,所以你的问题已经没有意义了。您需要调查 UDP 多播。
标签: windows networking tcp p2p packets