23

私は Python で Comet を実装する予定です (erlycomet については良いことを聞いていますが、バックエンドで他のすべてのものに加えて Erlang ベースの Web サーバーをサポートすることに興奮していません)。私はいくつかの可能性を見つけました:

(Java サーバーとインターフェースをとる他の選択肢もいくつかありますが、私はそれらには興味がありません)

パフォーマンス、コミュニティ、および実装の容易さを考慮して、誰かがこれらの実装の中で推奨を行うことができますか?

4

7 に答える 7

8

個人的には Twisted を使用していることと、成熟しているように見えることから、Orbited を使用しています。Twisted には、特に Diesel や Tornado と比較して、多くのユーザーとの素晴らしい長い歴史があります。Orbited は実際に Twisted の上に構築されています。

エンド ツー エンドの軌道ソリューションをカバーする優れたブログ エントリがここにあります。Python スクリプトから STOMP サーバー (MorbidQ) に Orbited to Javascript にデータを送信し、そのデータをグラフとしてレンダリングします。

トルネードはシーンにかなり新しいようで、ねじれ彗星を見つけることができず、ディーゼルについて聞いたことがありませんでした. Orbited が任意の種類の tcp/ip を転送できる方法が特に気に入っていますが、メッセージを渡す STOMP バックエンドで JavaScript クライアントを簡単にフックできます。

于 2009-10-06T00:53:29.593 に答える
5

Comet アプリの作成を検討している場合は、Orbited をお勧めします。

Comet の実装が (Ajax アプリの作成よりも) 複雑になるのは、クライアント (Comet JavaScript クライアント) とサーバー (Twisted のような非同期 Web サーバー) の両方が連携して動作する必要があるためです。 Orbited - JavaScript クライアントとサーバーの両方。

Tornado と Diesel はどちらも主に非同期サーバー部分を提供しますが、重要なクライアント JavaScript コードが欠落しています。

さらに、Orbited には非常に優れたコミュニティがあり、何人かの人々がそれを使ってクールなアプリを作成しています

于 2009-10-06T01:52:39.507 に答える
2

コメットに落ち着きましたか?WebSocket ではないのはなぜですか? 後者もオプションである場合は、Twisted で WebSockets を実装するhttps://github.com/tavendo/AutobahnPythonを参照したいと思います(ドキュメントはhttp://autobahn.ws/pythonで入手できます)。標準に準拠しており、フレームベース/ストリーミング処理用のメッセージベースの基本 API と高度な API など、さまざまな機能を備えています。

于 2011-08-28T18:07:06.200 に答える
2

Twisted も使用しています。しかし、Orbited の代わりに、Nevow.Athena を使用しています。それは本当に簡単です: 詳しくはLiveElement チュートリアルを読んでください。

于 2009-11-08T21:54:02.970 に答える
1

この質問に対する私の答えは、アウトバーンライブラリを使用したサーバープッシュの例を示しています。これは、IMHOがTwistedを搭載した最もユーザーフレンドリーなWebSocketフレームワークです。また、AndroidだけでなくJSの実装も利用できます。

Cometは完全にWebSocketに置き換えられており、IE8以前をサポートする予定がない限り、後者の使用を検討する必要があります。

于 2013-02-13T00:44:52.620 に答える
0

WebSocket-for-Pythonをお試しください

于 2012-01-06T22:35:48.867 に答える
0

Tornado は正常に動作します。ここで websockets の例を修正できます: https://github.com/Introduction-to-Tornado/Introduction-to-Tornado/tree/master/asynchronous_web_services/websockets

于 2013-02-17T15:42:45.243 に答える