请教一下,
用WSAAsyncSelect 对socket进行事件,消息 设置,
但是如何才能知道网络通信过程中断线,或者连接超时?

解决方案 »

  1.   

    发送heartbeat包等来保持连接,周期性发送一些包来得到响应,如果一段时间没有回应,就认为断线超时了
      

  2.   

    heartbeat包
    是不是通信双方除了有用数据通信外,还得自己控制发一些包,在接受方收到后,给回复,如果没有,就认为断线超时了?
    heartbeat包是不是需要什么 额外函数进行设置?
      

  3.   

    heartbeat包就是自己定义一些格式的数据包,发送了以后,只要通信双方知道如何解析等
      

  4.   

    非常感谢..
    还有一个,想请教一下,
    在用WSAAsyncSelect 设置后的消息相应函数中,如果执行大数据量的读写,会不会造成界面卡死,那样的情况?
      

  5.   

    如果是tcp的话不用heartbea也可以吧
      

  6.   

    发送方在线程里每次send前加1个sleep(1),任何时候都不会有CPU100%的情况出现,对发送速度有点影响,很小.
    接收方没经历过CPU100%的,具体情况不清楚心跳一定要加,双方都要加