java socket

arthas 03-11-06

我最近写了一个java socket 服务器,可是有时候server会死掉,端口不响应客户连接,不知道为什么。有没有哪位大侠遇到过,怎么回事,请指点。

lovejava
2004-06-17 15:58

看看SO_LINGER是不是太小啦,把它设置大一点试试

Azure_2003
2004-06-19 14:45

网络TCP/IP传输控制本身不是非常的稳定,经常会有这种情况发生,两台已经连接上的主机很长时间没有进行通讯时,然后异常断开了,这时候双方都不知道它们断开了,这是网络底层自身的问题
在这种情况下,我们最好在上层通讯的时候双方重写一个TCP/IP协议,即双方都每隔5-15秒给对方发一个保活测试消息,如果在这段时间内没有收到了对方的保活消息,就认为对方死掉了

fiddle
2004-06-23 12:19

> 我最近写了一个java socket
> 服务器,可是有时候server会死掉,端口不响应客户连接,不
> 牢裁础S忻挥心奈淮笙烙龅焦趺椿厥拢胫傅恪?

明显程序问题,多半线程造成的

fiddle
2004-06-23 12:23

> 看看SO_LINGER是不是太小啦,把它设置大一点试试

搭车请教一下SO_LINGER 是什么意思?
socket.setTcpNoDelay(boolean)又是什么意思?