2013-01-24 35 views
-1

据谷歌,以下是对端口的使用情况的事实:如何将多个端口的用户连接到一台服务器?

众所周知的端口是从0到1023的注册 端口是从1024到49151的动态和/或私有端口 是那些从49152到65535

如何将超过65535个用户连接到单个服务器。因为我们需要为每个新的监听连接提供一个套接字?所以不会为每个连接在本地创建一个新的端口?

回答

2

单个连接是由一对IPserver定义:SERVER_PORT和IPclient:CLIENT_PORT。鉴于你SERVER_PORT仅是一个,并且被固定,并且客户机通过IPclient定义:CLIENT_PORT,它赋予的2^48个不同的客户端(IPv4端口的+ 16的32)的理论范围内,所以可以有2^48平行连接到单个服务器。

的限制是,你不能设置为一个单一的服务器从单个IP超过2^16的连接。

-1

一个IP地址只能容纳一个2个字节端口,如在TCP和UDP协议定义。一个可能的解决方法可以是这样的:

  1. 服务器叉数处理,回声侦听192.168.0(10 + I):9999(i = 0到N-1)
  2. 客户端尝试连接192.168.0.10:9999,如果失败(192.168.0.10没有更多端口可用,因此无法建立连接),则尝试192.168.0.11:9999等。

至于如何多个IP绑定到单个NIC,检查此:http://community.spiceworks.com/how_to/show/1782-bind-multiple-ips-to-one-nic-in-linux

+1

解决方法是什么? -1 – EJP

1

到一个监听端口的所有传入连接使用该端口。所以你的问题不存在,除非你的意思是你想要来自同一个客户端主机的多于65535个连接,这将是一个奇怪的要求。

相关问题