0

リクエストを使用してブラウザとして機能する小さなアプリを作成しました。これは、ライブラリの機能を利用してセッションを処理し、CSRF トークンを Django に適切に渡します。

認証とセッションを処理する必要があるサーバーに接続する複数のアプリがあり、これが行われます。

クライアントを Django サーバー側に永続的に接続する必要があります。これは、クライアントが閉じるか切断したときにのみセッションの有効期限が切れるように設定することで処理できると思います。

私がやりたいもう1つのことは、認証され、ログインしているクライアントとのオープンセッションを利用して、サーバー上のいくつかのイベントに基づいてdjangoにデータの送信を開始させることです。どうすればこれを行うことができますか?

return HttpResponse サーバー上のイベントを処理し、それに応じてメッセージ/データをクライアントに送信する機能は、使用できるビュー機能ではないことに注意してください。ただし、HttpResponse は、繰り返される可能性のあるイベントごとではなく、リクエストごとに 1 回しか応答を送信できないため、複数の応答を送信できます。

4

1 に答える 1

1

不可能なメモリ要件なしで django にこれを実行させるには多大な労力が必要であり、それでもなお、その価値よりも難しいため、代わりにいくつかの代替案を提示します。

django-socketioが必要なことを実行するのに役立つかどうかはわかるかもしれませんが、かなり時代遅れのようです。

前回、django アプリからクライアントにリアルタイム イベントをプッシュする必要があったときは、rabbitmq サーバーを使用して、トルネードを使用して構築した非常にシンなサーバーに接続されたキューにメッセージのパケットを配信し、基本的なロング ポーリング アプローチを使用しました。それはうまくいきましたが、最終的には複雑なシステムになり、多くの可動部分があり、メンテナンスが容易ではありませんでした。

最近、クライアントにイベントをプッシュする必要があったとき、node.js + socket.io を使用しました。私はそうではありませんでした。

django と一緒にそのセットアップを使用する場合は、django を提供しているにもかかわらず別の node.js サーバーを実行し、HAproxy をスタック全体の前に配置して、クロスドメインの問題を回避します。残っている唯一の問題は、ノード サーバーと django アプリの間を接続する方法です。これは、プライベート ポートでの HTTP 呼び出し、redis pub/sub セットアップ、rabbit や zeromq などの何らかのメッセージング セットアップ、またはその他の夢のようなものである可能性があります。上。

于 2012-12-17T22:32:29.927 に答える