[英]What RPC module should I use to implement RCP in Python and be able to change connection method later?
我確實必須實現從Python到Python的一些RPC,但是出於安全原因,連接方法非常有限。
目前看來,我也許可以使用SSH
進行連接並在遠程系統上運行一個python腳本。
將來,當我們可能必須使用其他東西(例如telnet
進行連接時,這種情況可能會改變,因此我希望使用不同協議的解決方案可以使用。
另一個潛在的限制是關於Python版本,即使客戶端和服務器運行的版本不同,它也必須使用Python 2.5-2.7。
我應該使用什么,請僅在您有成功經驗的情況下提出建議,否則我也可以谷歌搜索;)
Spyne支持可插拔協議和傳輸,但尚不支持SSH(或任何其他類似套接字的傳輸)。 這是一個穩定但相當新的項目-尤其是客戶邏輯需要認真的工作。
關於您最初的問題,在我熟悉的序列化程序中(這是您在spyne網站上看到的大多數),最適合通過流傳輸進行管道傳輸的是MessagePack,因為它支持類似文件迭代器的功能-object(又名流式反序列化)接口。
作為python 2.6+的部分解決方案,您可以看看Versile Python (當前正在開發中),我們剛剛添加了對通過管道進行反應堆驅動的字節通信的支持(需要一個允許在管道文件描述符上進行select.select的平台,即視窗)。 這樣可以通過管道或stdin / stdout鏈接到VPy ORB。 有關如何與ssh一起使用的示例,請參見此食譜 。
Versile Python需要python 2.6+或3.x,因此不幸的是不適用於2.5。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.