有时(很少),当我连接到一个正在运行的com.sun.net.httpserver.HttpServer实例时,我会收到一条“连接被拒绝”的消息。
有人知道为什么会这样吗?它可以处理的连接数量是否有线程限制?我可以增加它吗?谢谢。-r
发布于 2009-10-30 02:19:07
来自the doc
当绑定到地址和端口号时,应用程序还可以指定整数backlog参数。这表示系统将在内部排队的传入TCP连接的最大数量。当连接等待被HttpServer接受时,它们被排队。当达到限制时,底层TCP实现可能会拒绝(或可能忽略)进一步的连接。设置正确的backlog值是在TCP层的有效资源使用(不要设置得太高)和允许足够的传入请求吞吐量(不要设置得太低)之间的折衷。
你可能会看到这一点。
或者,您可以使用setExecutor()设置一个executor。默认的executor配置的线程可能比您需要的要少,并且可以使用适当配置的ThreadPoolExecutor。
https://stackoverflow.com/questions/1645553
复制相似问题