IdTcpServer崩溃

时间:2013-03-07 23:00:19

标签: delphi indy tcpserver

enter image description here enter image description here

我正在使用indy的tcp服务器/客户端,一切正常(修复了一些错误),但是有一个错误让我烦恼。

当我冻结所有线程&然后杀死tcp客户端的进程,服务器崩溃并继续在tcpserver中引发错误^不间断。

有没有办法处理Delphi 6中的错误和其他套接字错误并防止服务器崩溃(我使用的是delphi 6 / windows 8 64位(可能不需要但我从来没有测试过我的win 7所以...)/ indy 9 / Indy TCP Server& Client)?

2 个答案:

答案 0 :(得分:4)

您的服务器没有崩溃。 EIdSocketErrorTIdTCPServer在客户端连接关闭/丢失时遇到的完全正常的例外情况。这是正常的行为。 TIdTCPserver将在内部为您处理它并在异常转移到服务器时关闭套接字(您应该允许它执行 - 如果您自己捕获它,请在完成后重新提升它)。您完全看到异常的唯一原因是调试器在您的应用看到之前报告它。只需按F9键让调试器将其传递给应用程序进行正常处理,或者配置调试器以忽略基于Indy EIdException的异常。

答案 1 :(得分:0)

请确保您使用的是Indy的最新版本,而不是D7中安装的版本(您需要先删除旧版本)。有崩溃的线程错误< 9.0.18