Indy TCP Server上的TCP流量控制



Indy TIdTCPServer组件有一个OnExecute事件,您可以在其中处理传入的数据。我的应用程序涉及在进入打印机之前处理的流数据,因此我依赖于准备好的输出设备。我想做的是让TCP流控制在输出流繁忙的情况下管理输入流。

我不知道的是如何最好地处理这种情况。Indy文档在使用示例上有点轻,感谢任何指导!

您不需要手动处理TCP/IP流量控制。如果设备还没有准备好,不要在OnExecute代码中读取任何新的输入数据,这就是你所要做的。数据将保存在套接字的接收缓冲区中,直到Indy将其读入自己的缓冲区,然后它将保存在那里,直到您将其读入自己的代码。如果套接字的接收缓冲区被填满,TCP/IP将自动通知另一方停止发送数据,直到缓冲区释放出一些空间。

不确定您已经开发了自己的代码到什么程度。如果您仍然是初学者,您可能会发现来自http://sourceforge.net/projects/indy10clieservr/的演示示例作为起点很有帮助。

最新更新