delphi2009(Lazarus)中indy10 的Idtcpserver断开客户端连接报错问题的解决办法
2014-12-29 18:40
791 查看
我们常用IdTCPServer.Active := false;来关闭Idtcpserver,但这样会出卡机,并且操作也不会成功,后来,我改为这样:
procedure TfrmMain.ActStopExecute(Sender: TObject);
var
i: integer;
AList: TList;
begin
AList := IdTCPServer.Contexts.LockList;
try
for i := AList.Count - 1 downto 0 do
begin
TIdContext(AList.Items[i]).Connection.Disconnect;
end;
finally
IdTCPServer.Contexts.UnlockList;
end;
end;
也就是说不要用IdTCPServer.Active := false;这种方式来断开Idtcpserver。
procedure TfrmMain.ActStopExecute(Sender: TObject);
var
i: integer;
AList: TList;
begin
AList := IdTCPServer.Contexts.LockList;
try
for i := AList.Count - 1 downto 0 do
begin
TIdContext(AList.Items[i]).Connection.Disconnect;
end;
finally
IdTCPServer.Contexts.UnlockList;
end;
end;
也就是说不要用IdTCPServer.Active := false;这种方式来断开Idtcpserver。
相关文章推荐
- delphi2009(Lazarus)中indy10 的Idtcpserver收发中文的解决办法。
- LINUX C语言 SOCKET 服务器断开导致客户端SEND崩溃问题解决办法
- SQLSERVER2005客户端不能连接服务器Analysis Server解决办法
- 解决“远程会话已断开连接,因为访问被拒绝导致许可证存储的创建失败,请使用提升的权限运行远程桌面客户端”问题
- db2客户端因端口问题连接不上db2数据库解决办法
- ThinkPad蓝牙鼠标出现延迟、断开连接等问题的解决办法
- 关于在java中连接MS SQL Server 2005 JDBC的问题及解决办法
- myeclipse cvs客户端无法连接服务器端,提示“unknown response received from cvs server”解决办法
- release management客户端无法连接到release management server的问题解决
- Windows Server 2003 使用vSphere5.5连接ESXI5.5 “客户端无法向服务器发送完整的请求” 的解决办法
- asp.net 连接oracle时 出现客户端连接问题的解决办法
- MySQL问题贴3:Delphi第一次编译连接MySQl数据时缺少dll文件的解决办法
- 利用pl/sql developer进行远程连接oracle server出现的问题及解决办法
- SQLSERVER2005客户端不能连接服务器Analysis Server解决办法
- xshell远程连接自动断开的问题解决办法
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解决办法
- 关于VMware ESX Server客户端连接不上等问题的解决
- 关于在java中连接MS SQL Server 2005 JDBC的问题及解决办法
- 解决server 2003中远程桌面只能连接两个客户端的问题
- 转:Microsoft SQL Server 2000连接问题的解决办法