[英]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.