我没用心跳包。直接记录上次通信的时间和这次比对。我准备用1w个试验下到底多少时间把测试结果 写上看看试验了几次1w的,发现加锁遍历list 1w个,时间也不长,用time计算的时间,有时显示1s,有时显示0,问题不大吧。我小瞧stl的实现了。试验1w,发现额外的问题,某个地方有内存泄露,我得再查查

解决方案 »

  1.   

    用GetTickCount 计算时间撒 得到毫秒
      

  2.   

    我没用心跳包。直接记录上次通信的时间和这次比对。我准备用1w个试验下到底多少时间把测试结果 写上看看试验了几次1w的,发现加锁遍历list 1w个,时间也不长,用time计算的时间,有时显示1s,有时显示0,问题不大吧。我小瞧stl的实现了。试验1w,发现额外的问题,某个地方有内存泄露,我得再查查
    1w的处理量对于STL来说不太大
      

  3.   

    可以试试timerqueue,每个Client启用一个timerqueuetimer,
    对应的超时逻辑放在timerqueuetimer的处理函数中,
    -------------
    http://blog.csdn.net/tpriwwq/article/details/9227479测试过的并发量比较小,没有到1w
      

  4.   

    验证了一半,空跑几十ms,或者0,有超时操作的话,一两百ms。总之,这个问题不大