你的服务器怎样保持连接的!
应该可以判断连接已经断开!
实在不行就只有增加协议判断了!
两个socket同一IP,同一端口也不应该冲突!!

解决方案 »

  1.   

    无论正常还是非正常的断开连接,socket都将变为可度,通常是由read()调用返回-1(或0)来揭示的。
    或者你应该在应用层上使用协议,比如“心跳”消息或者周期性的“你在吗?”这样的消息,如果对方没有在规定的时间内作出响应,你就可以单方面中止
      

  2.   

    同意楼上的,
    不过我使用read()返回-1和timeout来判断的,应用层协议增加麻烦了些!!
      

  3.   

    谢谢楼上的两位,但问题在于
    我使用了NIO新增加的selector模式
    在用户没有显式的发送信息或断开连接的时候
    selector不会与该用户的通道接通
    因此无从read()阿心跳消息和应用层协议的方法可以具体讲一下吗?
    非常感谢
      

  4.   

    不了解selector模式,
    不知道实现是怎么和客户端通信的!
    可以讲讲工作流程吗?
      

  5.   

    楼上的,可以加我qq吗?
    我是1607172.
    我可以提供你我的代码
    并给你讲解一下selector模式
    你帮我解决一下那个问题
    好吗?顺便交个朋友
      

  6.   

    .....MSN也不行喽?
    这样好了,你干脆就在我的聊天室里说吧,呵呵
    http://jinni.vicp.net/FlashChat/
      

  7.   

    上不去!在用户没有显式的发送信息或断开连接的时候
    selector不会与该用户的通道接通
    因此无从read()阿不read怎么会知道用户有没有请求?!
      

  8.   

    不会阿
    你再试一下
    ok?
    http://jinni.vicp.net/FlashChat/
      

  9.   

    只有一个text和button,
    如何进?输入姓名后下面显示连接...
    没了!