delphi – 最佳实践:每次传输后,保持TCP / IP连接打开或关闭?

我的服务器应用程序使用TIdTcpserver,几个客户端应用程序使用TIdTCPClients连接到服务器(所有计算机都在同一个LAN中).

一些客户端只需要每隔几分钟联系一次服务器,其他客户端每隔一秒就可以连接一次,一次每隔一秒钟就可以进行一次.

如果我保持客户端和服务器之间的连接打开,我将保存重新连接,但必须检查连接是否丢失.

如果每次传输后关闭连接,则必须每次重新连接,但不需要检查连接是否仍然存在.

这样做最好的方法是什么?

数据传输的频率应该在一般情况下保持连接畅通吗?

这两种情况有什么其他优点/缺点?

解决方法

我会建议两者的混合.打开新的连接时,启动一个空闲的定时器.无论何时交换数据,重置定时器.如果计时器已经过去,请关闭连接.如果需要发送数据时连接已关闭,请打开新的连接并重复.这样一来,经常使用的连接可以定期关闭,而常用的连接可以保持打开状态.

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...