RT
假设有2个ClinetA和B与Server连接上
当某个连接关闭时
请问Server怎么知道是A还是B关闭了连接?
谢谢

解决方案 »

  1.   

    Server有个链表来保存客户端的信息,链表可以根据自己的需要建立。保存客户端的信息。每个客户端连接都有个id,可根据此ID判断是哪个客户端掉了线。
      

  2.   

    如果有2个ClinetA和B与Server连接上了,server端在accept成功返回后, 会得到分别与A和B通信的socket标识符.
      

  3.   

    niitlcj(游戏狂人)
    如果有2个ClinetA和B与Server连接上了,server端在accept成功返回后, 会得到分别与A和B通信的socket标识符.
    ========================
    假设accept返回的分别为sock_a,sock_b
    怎么通过他们来判断那个客户端掉线
      

  4.   

    当客户端断线(closesocket)后,在服务器端recv时会返回SOCKET_ERROR的.此时可以知道是那个socket在recv的.楼主可否将测试代码发过来我看看呢[email protected]
      

  5.   

    呵呵,那要看你使用什么类型的模型来管理socket了参考Windows网络编程
      

  6.   

    我的代码很简单
    几乎照着Windows网络编程打的
      

  7.   

    不太明白题目,除非是非正常关闭连接,否则任何一方都会收到对方的关闭连接请求。对于前者通过心跳检测之,对于后者不言自明。既然知道了处理时机,那Socket句柄与UserInfo的对应信息的取得是你自己需要处理的了。