簡體   English   中英

簡單的服務器/客戶端字符串交換協議

[英]Simple server/client string exchange protocol

我正在尋找一種抽象和干凈的方法來在兩個python程序之間交換字符串。 該協議非常簡單:客戶端/服務器向服務器/客戶端發送一個字符串,它采取相應的操作-我想是通過處理程序-並用另一個字符串將OR NOT回復到另一端。 字符串可以是三件事:確認,向一側發出信號,表明另一側仍然存在; 如果從“客戶端”到“服務器”,則包含一個包含命令的腌制類;如果從“服務器”到“客戶端”,則包含一個響應的腌制類; 最后是一個“鎖定”命令,該信號向會話的一側發出信號,表明對方正在正常工作,在收到另一個鎖定包之前,不應再詢問其他問題。

我一直在查看SocketServer.TCPServer中內置的python,但是它的級別太低了,它不容易支持重新連接,並且客戶端必須使用套接字接口,我更喜歡將其封裝。
然后,我探索了扭曲的框架,尤其是LineOnlyReceiver協議和服務器示例,但是我發現最初的學習曲線過於陡峭,在線文檔假設知識過多,並且普遍缺少示例和良好的文檔(2005 O除外)。 “禮來的書,這仍然有效嗎?)。
然后,我嘗試了pyliblo庫,它非常適合該任務,可惜它是單向的,無法“應答”客戶端,因此我需要將應答與特定命令關聯。

所以我的問題是:是否有一個現有的框架/庫/模塊允許我在服務器中擁有一個客戶端對象,以便從中讀取命令並向其發送回復,以及在客戶端中有一個服務器對象,可以從中讀取響應並將命令發送到,經過簡單的設置(客戶端,服務器地址為host:port,服務器,您正在偵聽端口X)后可以使用的命令,並已處理了基礎套接字,重新連接引擎等?
在此先感謝您的回答(請原諒我的英語,沒有經驗,這是我的第一個問題)

Python還提供了asyncchat模塊,該模塊簡化了類似聊天的通信中常見的許多服務器/客戶端行為。

您想要做的事情看起來很像RPC,因此,如果您不想使用XML,那么我想到的就是XMLRPC或JSON RPC。

Python有一個您可以使用的XMLRPC庫,它使用HTTP作為傳輸方式,因此它也解決了您的級別不太低的問題。 但是,如果您可以根據自己的實際意願提供更多詳細信息,也許我們可以提供更好的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM