delphi - 终止来自 TIdTCPServer 的非事件套接字连接

标签 delphi tcp indy

我们有一个应用程序,它使用 Delphi 2007 附带的 Indy 10.1.1 组件来监听传入的 TCP 请求。

有时,我们会收到并非来 self 们的客户端应用程序的传入连接。通常,会发生以下两种情况之一:1) 在收到任何数据之前,客户端终止连接,或者 2) 收到我们不期望的数据,并且我们手动终止连接。

但是,我们收到的连接没有收到任何数据,并且似乎一直持续到客户端从其一端终止连接。

如果在指定时间后没有收到数据,是否有办法终止与服务器的此类连接?

最佳答案

在 OnExecute 事件处理程序中,跟踪从客户端接收到最后一次有效数据的时间。使用连接的 ReadTimeout 属性,您可以定期使挂起的读取操作超时,以便您可以检查客户端是否有一段时间没有发送数据,如果是,则断开连接。

关于delphi - 终止来自 TIdTCPServer 的非事件套接字连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376125/

相关文章:

delphi - 我们可以在Delphi XE2 LiveBinding表达式中使用 bool 运算符吗?

delphi - 如何使用 Indy 10 和 OpenSSL 通过 HTTPS 下载文件?

Delphi:通过 Outlook 发送带有多个附件的电子邮件

java - 一次从多个套接字接收数据(多线程)

c++ - 用于TCP/IP和网络编程的C/C++/C#教科书或教程(多平台)

sockets - 可以可靠地将 TCP 套接字连接到自身吗?

json - 如何更改 REST DataSnap 中的内容类型响应

c++ - 如何将 Borland 6 C++ 项目从包含 indy.bpi 更新为 indy60.bpi?

delphi - 如何检查物体是否已经被破坏?

delphi - 如何在特定字符处分割字符串?