A
aKnightChen
Unregistered / Unconfirmed
GUEST, unregistred user!
我用 TIDTCPServer TIDTCPClient 做通讯程序,
当客户端先退出时,再关闭服务器上,(服务器端)就不会报错。
可是,如果客户端还在线,此时关了服务器,就会出现EIdClosedSocket with message 'Disconnected'
这样的错误,
我知道有一种解决方法就是在关闭之前发送通知叫客户端先下线,
但还有没有其它方法呢?
注:
我的服务器端的OnExecute代码如下:
if not AThread.Terminated and AThread.Connection.Connected then
begin
a:=AThread.Connection.ReadLn;
end;
整个程序非常简单,只是经送一些字符串而已(做测试)。
我也搜索过DelphiBBS里,别人说是OnExecute里代码有错,可我这个测试程序非常简单,
当客户端先退出时,再关闭服务器上,(服务器端)就不会报错。
可是,如果客户端还在线,此时关了服务器,就会出现EIdClosedSocket with message 'Disconnected'
这样的错误,
我知道有一种解决方法就是在关闭之前发送通知叫客户端先下线,
但还有没有其它方法呢?
注:
我的服务器端的OnExecute代码如下:
if not AThread.Terminated and AThread.Connection.Connected then
begin
a:=AThread.Connection.ReadLn;
end;
整个程序非常简单,只是经送一些字符串而已(做测试)。
我也搜索过DelphiBBS里,别人说是OnExecute里代码有错,可我这个测试程序非常简单,