如何在ServerSocket中监听客户端socket是否退出连接?

wangwenhui11 2008-02-27 05:36:05
如何在ServerSocket服务器端监听某个客户端socket是否退出连接?
...全文
314 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SINODATA_QJF 2008-02-27
  • 打赏
  • 举报
回复
很简单,当客户端退出时,在ServerSocket端会抛出异常,在异常中进行相关的处理就行啦
liang8305 2008-02-27
  • 打赏
  • 举报
回复
试试这个方法

1.建一个Map用来保存用户链接
2.ServerSocket.accept()之后将生成的socket保存到Map中
3.轮询Map中的每个socket的isClose方法,如果返回true则通知下
Map userSockets=new HashMap();
while(true)
{
checkSockets();
Socket acceptedSocket=ServerSocket.accept() ;
userSockets.put(userName,acceptedSocket);
}

private void checkSockets
{
Set set=userSockets.keySet() ;
Iterator it=set.iterator() ;
while(it.hasNext())
{
Socket socket=it.next();
if(socket.isClose())
{
doSomething();
}
}

yami251139 2008-02-27
  • 打赏
  • 举报
回复
...
用listener

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧