我想用C ++为我的应用程序开发一个服务器。我对网络概念并不熟悉。这个服务器很简单,我会使用其中一个网络库。我无法找出研究以下问题的必要关键词:
假设在100台不同的计算机上有100个用户,它们共享相同的互联网连接,位于同一台路由器后面。他们都决定打开我的客户端连接到我的服务器。如果要保持连接打开并在同一端口上,如何处理此问题。
答案 0 :(得分:1)
这种服务器编程并不容易,需要网络技能。你可以看一下this tutorial。它是C和unix,但它显示了你需要使用的功能:
答案 1 :(得分:1)
出于服务器的目的,这100个连接是来自同一台计算机,来自同一路由器还是来自完全独立的网络,这没有任何区别。
虽然连接的服务器端将为所有这些端口使用相同的端口,但每个连接将具有客户端IP地址和端口的不同组合。在您描述的情况下,路由器将使用相同的IP地址在同一路由器后面,所以路由器将确保它们都具有不同的客户端端口号。如果您想了解有关一种常用方法的详细信息,可以阅读有关网络地址转换(NAT)的信息。