2012-06-23 3 views
5

Pythonで2つのデーモンを接続する最良の方法は何ですか?Pythonで2つのデーモンを接続する

私はデーモンAとBを持っています。AのモジュールでBによって生成されたデータを受信したいと思います(多分双方向)。どちらのデーモンもプラグインをサポートしているので、プラグインでの通信を遮断したいと思います。それを行うには、最高の、クロスプラットフォームの方法は何ですか?

共有メモリ(C/C++)、Linuxパイプ、ソケット(TCP/UDP)などの低レベルのソリューションと、いくつかのハイレベルキュー(JMS、Rabbit)RPCのメカニズムはほとんど分かりません。

両方のデーモンは同じホスト上で実行する必要がありますが、より良いアプローチは接続タイプから抽象化することです。

Pythonの典型的なソリューション/ライブラリは何ですか?私はエレガントで軽量なソリューションを探しています。私は外部のサーバーは必要ありません、お互いに話している2つのプロセス。

これを行うにはどうすればよいですか?

+1

メッセージキューは、最も洗練されたソリューションです。 – ThiefMaster

+0

Hmmメッセージキューとして私はRabbitMQ/JMSなどを理解しています。私は外部の第3のデーモン/サーバが全通信を処理しないようにしたいと思います。コミュニケーションは本当に激しいので、待ち行列が最もエレガントな方法であっても、もっとシンプルなものが良いかもしれないと思います。 – Simon

+1

私はdbusと言うでしょうが、dbusのWindows版があります。 – dav1d

答えて

2

あなたは、プロセス間通信用のソケットを使用することができます。私はあなたのトラフィックがどのように重いですわからない

0

https://developers.google.com/protocol-buffers/docs/pythontutorial http://code.google.com/p/protobuf/ PythonのXML RPC http://docs.python.org/library/xmlrpclib.htmlやGoogleいるProtobuf、しかし:http://docs.python.org/howto/sockets.html

また、リモート・プロシージャは、そのためのスーツを呼び出しますasyncoreパッケージをお勧めします。その使い方はかなり簡単で、ソケットに基づいています。

私はこの長い時間前にコマンドパターンを実行しました。あなたが興味を持っているなら、私はコードを調べることができます。

関連する問題