在ONERROR事件中不是有一个SOCKET参数吗?那就是出错的客户端SOCKET啊

解决方案 »

  1.   

    你可以试试以下的代码,但如果中间有代理服务器的话,显示的是代理服务器的IP。
    procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
       showmessage(socket.RemoteAddress);
    end;
      

  2.   

    在ONERROR事件中不是有一个SOCKET参数吗?那就是出错的客户端SOCKET啊 
      

  3.   

       socket = integer;只是一个标记而已。
      

  4.   

    disconnect事件在正常关闭socket时触发,出错时没这事件.
    错误信息为"Asynchronous socket error 10054"
    我查了这个错误号,信息为"The connection is reset by remote side."
    也就是连接被远程端重置.
    但是我怎么知道远端的IP呢?
      

  5.   

      在客户端连接服务器的时候,服务器记下,socket 值和IP地址,你不就可以查到了吗。