但是在服务端会产生Connection Closed Gracefully.的错误信息。
我通过调试发现,用TIdTCPClient的readln读取一行数据,触发了服务端的Execute(AThread: TIdPeerThread);事件。然后我就用AThread向客户端发送数据。当客户端用TIdTCPClient的Disconnect方法的时候,也会触发Execute事件,而这个时候调用AThread的方法就产生了Connection Closed Gracefully的错误。
我尝试了
AThread.Connection.Socket.Connected
AThread.Stopped
AThread.Connection.Connected
方法判断客户端是否已经Disconnect,但都无法判断客户端是否Disconnect了。
请问各位大侠有没有办法处理客户端Disconnect。我没有在服务器端Disconnect。
我通过调试发现,用TIdTCPClient的readln读取一行数据,触发了服务端的Execute(AThread: TIdPeerThread);事件。然后我就用AThread向客户端发送数据。当客户端用TIdTCPClient的Disconnect方法的时候,也会触发Execute事件,而这个时候调用AThread的方法就产生了Connection Closed Gracefully的错误。
我尝试了
AThread.Connection.Socket.Connected
AThread.Stopped
AThread.Connection.Connected
方法判断客户端是否已经Disconnect,但都无法判断客户端是否Disconnect了。
请问各位大侠有没有办法处理客户端Disconnect。我没有在服务器端Disconnect。
我要的是在用户连接后出发了Execute事件,在客户端Disconnect后触发了Execute。我想服务端的AThread因该有个方法判断客户端是否disconnect了。
如果回答的质量不高,干脆别回答。最烦的是没自知之明的人。