2013-05-19 9 views
5

私はautobahnを使用して、私のDjangoアプリケーションを補完するWebSocketサーバーを実行しています。時には、私はDjangoからwebsocket-clientモジュールを使ってうまく動作するwebsocketサーバーにメッセージを送る必要があります。私はRPC/PubSub APIが素晴らしいように見える代わりにWAMPプロトコルを使用したいと思いますが、Pythonクライアントコードはツイストプロトコルとして実装されています。その使用方法を決めることはできません。いくつかの外国のイベントループから。私がドキュメントで見ていないものはありますか、私のアーキテクチャは異なるはずですか?オートバンWAMPサーバーの必須クライアントですか?

+2

Pythonのすべてが必須です。私はあなたが "ブロッキング"か多分 "同調"を意味すると思います。 –

+0

アーキテクチャに関しては、(少なくとも)2つのオプションがあります:a)Autobahnを別のサーバーとして実行し、Djangoからクライアントとしてアクセスします。 b)DjangoとAutobahn(サーバー)を1プロセス内で実行します。 b)をFlaskとAutobahnで実行する例があります。https://github.com/tavendo/AutobahnPython/blob/master/examples/websocket/echo_wsgi/server.py – oberstet

+0

@ Jean-PaulCalderone:そうです、私は同期ブロッキングコールが必要です。 – Simon

答えて

5

https://github.com/itamarst/crochetこれを手助けするかもしれません。

+0

それは非常に有望に見える、ありがとう:-) – Simon

+0

興味深い。そして、ええ、このlibを使用すると、あなたが望むことができるようだ:あなたのアプリ内でオートバン(クライアント)を実行するが、あなたのアプリPOVからブロックする。 – oberstet

+0

イベントループを実行せずにWAMPクライアントをインスタンス化して使用することはできませんか?それとも、Twisted&asyncioの実装に加えて本格的な "eventloop-less"実装を作成する必要がありますか? – Petri

関連する問題