如题,最好有代码,或是详细的实现过程(不要用心跳检测的方法)

解决方案 »

  1.   


    procedure Tform1.HartTimerTimer(Sender: TObject);
    var
      CBLogin:TCBLogin;
      Buffer: array[1..2048] of char;
    begin
      if ClientTCP.Connected = False then exit;
      try
        ClientTCP.WriteBuffer(skOnlineCheck, 1, True);
        //AutoService.IOer.AddShow('向服务端发送心跳测试',[]);
      except
          AutoService.IOer.AddShow('向服务端发送心跳测试失败************************',[]);
          Exit;
        end;
      end;  if GetTickCount - LastReturnHartTick > HartTimer.Interval * 10 then
      begin
        AutoService.IOer.AddShow('心跳超时,自动断开并重新登陆',[]);
        ClientLogout();
        Exit;
      end;end;
      

  2.   

    记得要在客户端线程中刷新      
    var 
    begin 
     LastReturnHartTick := GetTickCount;
    end
      心跳时间
      

  3.   

    谢谢大家,结贴了,分就给newdat了,感觉还是心跳检测比较好,只要处理得当就行