nio 当客户端主动关闭连接,服务器端怎么才能知道

04-10-31 shailq

我用nio,作的,当客户端主动关闭连接,服务器端并不知道客户端已经关闭,这怎么办,我需要立即知道这个事件阿?

1
banq
2004-11-18 12:24

会抛出Exception

ljh5
2004-11-19 11:07

try
{
int bytesRead = incomingChannel.read(readBuffer);
if (bytesRead==-1)
{
closechannel(incomingChannel);
return;
}
}catch(IOException e){}

当你对客户端读写的时候返回-1就表示客户端关闭了

ortherme
2005-04-09 19:37

我想请问一下
如果我每个用户登陆后信息都存在hashmap中,如果用户正常退出,那我可以把hashmap中的相应信息删除就行了。
但如果是非正常关闭的话,我怎么确定是哪个用户掉线了?
谢谢

Azure_2003
2005-04-23 02:13

你可以给这个连接分配一个连接号啊,非正常关闭的时候这个连接号还是可以知道的