C ++套接字 - 多个端口或单个端口

时间:2014-05-28 02:58:49

标签: c++ sockets client-server winsock ports

我不打算尝试制作游戏或任何东西,但我记得过去发生的事情,我想看看stackoverflow对它的看法。

前段时间,我和一位朋友通过相同的路由器玩了一款名为星际争霸的游戏。当我们尝试在多人游戏中一起玩时,它非常迟钝,到了无法播放的程度。我无法弄清楚为什么会这样,因为游戏是从90年代开始的,而且我的互联网绝对可以处理比游戏所需的更多的事实。

我做了一些研究,当有两个来自同一路由器的人试图在主服务器上一起玩时,我发现有人在谈论游戏运行速度这么慢的原因。 他们说这是因为游戏只使用端口6112这一事实。他们说路由器一次只能在一个端口上发送多少,所以由于两台计算机都使用端口6112,所以从某种意义上讲是瓶颈。

所以这是我的问题。

对于要开发服务器/客户端应用程序的人来说,让客户端连接到初始端口上的服务器,接收新端口以连接,断开连接以及重新连接新端口会更有意义吗尽可能多地使用端口?或者这不会有所作为?

总结:在有多个客户端的服务器/客户端应用程序上使用多个端口是否更有效,或者通过一个端口运行所有数据更有效?

感谢您花时间阅读。

1 个答案:

答案 0 :(得分:0)

  

他们说这是因为游戏只使用端口6112这一事实。他们说路由器一次只能在一个端口上发送多少,所以因为两台计算机都在使用端口6112,这在某种意义上是瓶颈。

他们不知道他们在说什么。没有这样的限制。您没有理由使用多个端口。您概述的连接/重新连接方案只会增加网络开销并且无法实现任何有用的功能。