私のウェブサイトには Python/Flask バックエンドと Angular フロントエンドがあります。バックエンドには、SQS のメッセージをときどきチェックするプロセスがあり、Angular コントローラーを更新できるクライアントに通知をプッシュする必要があります。これを既存のテクノロジーで行う最善の方法は何ですか?
質問する
4962 次
2 に答える
3
これが少し遅れていることは承知していますが、私はあなたが求めていることをほぼ正確に実行しました (ただし、Angular は使用しません)。
Redis pub/sub ソケットをリッスンするAutobahnという Websocketサーバーを実行する別のプロセスができました。コードはgithub にあります。
これにより、redis にアクセスできるほぼすべてのものからクライアントにプッシュ通知を送信できます。
したがって、接続されているすべてのクライアントにメッセージを公開したい場合は、次のように redis を使用します。
r = redis.Redis()
r.publish('broadcasts', "SOME MESSAGE")
これはこれまでのところかなりうまく機能しています。現在できないのは、特定のクライアントにプッシュ通知を送信することです。ただし、特定のユーザーを識別するための認証システムまたは何かがある場合は、それを開いている websocket に関連付けて、特定のクライアントに直接メッセージを送信できます:-)
もちろん、任意の websocket サーバーまたはクライアント (socket.io や sock.js など) を使用できますが、これは私にとってはうまくいきました :-)
于 2013-07-11T10:45:41.560 に答える