[英]Maintaining TCP Connection
我有一个Python程序,该程序从ADC读取值,然后将它们写入文件,并在有连接的情况下通过TCP发送它们。 我可以很好地发送数据,但是由于不断读取数据,我希望能够保持连接打开。 如何让客户端检查服务器是否有更多数据要发送,从而保持连接打开?
这种情况似乎与我们的一个应用程序非常相似。 为此,我们使用ZeroMQ。
在PyZMQ上,doc是使用发布/ 订阅的示例。
数据提供者创建PUB套接字并向其发送消息。
数据使用者设置SUB套接字并从中读取消息。
通常,PUB套接字是基础结构的固定部分,因此它绑定到某个端口,然后SUB连接。 但是,如果您愿意,可以对其进行切换,并且它也可以工作。
优点是:
PUB / SUB只是一种选择,还有其他组合,例如PUSH / PULL,REQ / REP等。
我的PUSH / PULL服务已经运行了很多年,并且“保持良好”状态(通常需要6周的时间才能重新启动,但这是由于硬件问题而不是ZeroMQ库引起的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.