根据 Sun 关于 ServerSocket 的文档:
传入连接指示(连接请求)的最大队列长度设置为 50。如果在队列已满时连接指示到达,则拒绝连接。
如何增加队列长度?这是我服务器的瓶颈。
谢谢你。
根据 Sun 关于 ServerSocket 的文档:
传入连接指示(连接请求)的最大队列长度设置为 50。如果在队列已满时连接指示到达,则拒绝连接。
如何增加队列长度?这是我服务器的瓶颈。
谢谢你。
使用带有参数的ServerSocket 构造函数。backlog
您可能还需要考虑使用线程池(或者实际上是ExecutorService)来分派传入的请求。根据您的架构方式,这通常会带来更好的吞吐量。
ServerSocket 有另一个构造函数。
public ServerSocket(int port, int backlog)
其中 backlog 是您想要的连接队列大小。最大值 50 仅适用于采用的默认构造函数int port
要限制连接被拒绝,请确保在为该轮询执行任何发送/接收处理之前处理每个选择轮询的所有连接请求。