1 一般是怎么安排退出?是否一般都是client A主动请求退出,然后服务器转发client A的退出,所有client同步更新client A。2 还是server直接删除 client A,然后转发给所有的client,实现 client A 的退出同步更新?大家是怎么个决策的?
谢谢回复。

解决方案 »

  1.   

    to jacklzw88:如果是长连接,怎么定?
    如果是短连接,怎么定?
      

  2.   

    我的做法是,CLIENT发出退出请求包后收到确认包就主动CLOSE,在SERVER得知CLIENT CLOSE或发出确认退出包后就删除该CLIENT
      

  3.   

    主要有两种情况:
    1.Client正常关闭,这样Server会收到CLOSE的消息,这是socket自动实现的,Server端只要处理这个关闭连接的消息就行了2.第二种情况是Client非正常关闭,这样的话Server就会收不到关闭连接的消息,这样的话,就需要在维护Client的列表中设置一些可以判断连接时间,或者传输数据大小等等地消息,可以判断一个连接在一段时间内有没有数据传输,或者在Server定时地去检测每一个连接是否还处于连接状态
      

  4.   

    向IOCP发一个特殊的Per IO Context or Per Handle Context
      

  5.   

    比较简单的是在你的Server里面设置一个Timer消息就可以啦,如果你不清楚Timer的话,可以自己上网找找相关的资料.