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

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

会抛出Exception

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

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

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

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