有多少人可以连接到ServerSocket?

时间:2017-07-07 16:01:39

标签: java sockets

我正在使用套接字。我想知道有多少人可以使用套接字连接到我的SocketServer?

根据Cameron的说法,这是2 ^ 16个不同的连接。所以,多达2 ^ 16人实际上可以同时使用我的聊天(处理这么多用户的资源和其他因素都没有考虑)???

https://www.quora.com/How-many-connections-can-a-JAVA-socket-server-hold

2 个答案:

答案 0 :(得分:3)

理论上的限制是2 ^ 16 - 1.保留端口0。

实际限制将是特定于平台的,并且只能通过测试来确定。

限制因素包括:

  • 可用的网络吞吐量,
  • OS内核可以支持的并发连接数,
  • 允许进程的打开文件描述符的数量,以及
  • 维持大量活动连接所需的进程内资源。

其中大多数最有可能是硬件限制。

人们在评论中上面讨论的限制是可以排队的连接请求数。如果您的Java应用程序足够快地调用ServerSocket.accept(),则不会删除请求。

答案 1 :(得分:0)

在Mac和Linux上,您可以执行" ulimit",它将告诉您操作系统定义的限制。