私は現在、1 ページのボトル プロジェクトを使用していlocalhost:8080
ます。
この質問の目的のために、単一ページは何でもなく、送信者の名前とメッセージの本文のみを含むチャットライン オブジェクトを Python から取得する基本的なショート ポーリング チャットであると仮定します。
これらのチャットライン オブジェクトはチャット オブジェクトに保存され、プロジェクトは複数のチャットを許可します。
チャットと送信者は URL によって決定されます。たとえば、チャットラインが から送信された場合、localhost:8080/chat/23/50
送信者 50 としてチャット 23 に送信され、localhost:8080/chat/23/*
チャット 23 のすべてのチャットラインが基本的なoverflow:auto
div に表示されます。
現在のショート ポーリング AJAX は、1 秒ごとに Python からデータを要求します。私は物事をよりリアルタイムにしたいと考えており、ロング ポーリングを使用することにしました (ただし、HTML5 WebSocket が好きなら、それらについても学ぶことを気にしません)。
私の質問は2つの部分に分かれています:
- できれば Python の Bottle モジュールを使用しながら、このようなチャット システムでロング ポール アプローチを実装するにはどうすればよいでしょうか?
- 次に、外部からアクセスできる実際のサーバー (つまり、ローカルホストからだけでなく) を介してプロジェクトを配信するにはどうすればよいでしょうか? LAN経由で利用できるようにしても良いでしょう。
ロング ポーリングが Apache などのサーバーで重大なパフォーマンスの問題を引き起こす可能性があることは承知しており、その事実を何らかの回答に織り込むことができれば幸いです。可能な限りスケーラブルなソリューションが必要です。
どんな助けでも大歓迎です!