1

如果 Serversocket 在其积压中充满了请求并且正在执行长时间运行的工作,那么套接字行为将是什么。当我尝试这个时,从 Windows telnet 可以,它可以连接。但是从unix它得到“连接被拒绝”。我的应用程序是用java编写的并在IBM jvm上运行。顺便说一句,我们的应用程序没有响应来自 unix 的 telnet。不响应意味着它正在写“tyring ...”并挂起,而不是拒绝或连接。任何人都可以为这种行为辩护吗?谢谢你。

4

1 回答 1

2

如果套接字处于 LISTEN 状态,您不应收到“连接被拒绝”。在您用完积压设置提供的插槽之前,您的连接请求应该被确认(但没有更多的事情发生)。当您达到listen系统调用设置的积压限制时,“正在尝试...”是正常行为(服务器正在丢弃数据包直到侦听积压插槽可用,客户端重新传输 SYN 数据包直到发生连接超时或服务器确认连接请求)。

于 2013-12-03T13:59:24.383 回答