0
我有一个python程序,它读取ADC中的值,然后将它们写入文件,并在TCP连接可用时通过TCP发送它们。我可以很好地发送数据,但随着数据不断被读取,我希望能够保持连接打开。我如何让客户端检查服务器是否有更多数据要发送,从而保持连接打开?维护TCP连接
我有一个python程序,它读取ADC中的值,然后将它们写入文件,并在TCP连接可用时通过TCP发送它们。我可以很好地发送数据,但随着数据不断被读取,我希望能够保持连接打开。我如何让客户端检查服务器是否有更多数据要发送,从而保持连接打开?维护TCP连接
这种情况看起来与我们的应用程序非常相似。我们为此使用ZeroMQ。
在PyZMQ doc是例如用于使用发布/订阅。
数据提供者创建PUB套接字并向其发送消息。
数据使用者设置SUB套接字并从中读取消息。
通常情况下,PUB套接字是固定的基础设施的一部分,所以它绑定到某个端口,并连接SUB。但如果你喜欢,你可以切换它,它也可以。
优点是:
的Pub/Sub只是一种选择,有喜欢的推/拉,REQ/REP等
其他组合我有一些服务运行多年PUSH/PULL,并保持“相当好”(通常有6个星期才需要重新启动,但这是由于硬件上的问题比在ZeroMQ库中。 )
为什么你不能只发送向服务器发送一个命令(以字符串形式),该命令将导致响应是否有要发送的数据? –
尝试发送每秒保持活动(一些任意数据) –