タグ付けされた質問 「socket.io」

Socket.IOは、さまざまなトランスポートメカニズムの違いをぼかして、すべてのブラウザーとモバイルデバイスでリアルタイムアプリを可能にすることを目的としています。WebSocket、Flashソケット、ロングポーリングなどの複数のトランスポートをサポートし、トランスポートが失敗すると自動的にフォールバックします。

5
永続モデル(サーバーデータベース)が外部アプリによって変更された場合、AngularJSはビューを自動更新できますか?
AngularJSに慣れ始めたばかりですが、サーバー側のデータベースで何かが変更されたときに、ユーザーがリアルタイムで(更新なしで)自動更新されるビューを持つWebアプリを構築したいと思います。 AngularJSはこれを(ほとんど)自動的に処理できますか?もしそうなら、機能している基本的なメカニズムは何ですか? たとえば、「モデル」の変更についてDBを定期的にポーリングするようにAngularJSを設定しますか?または、Cometのようなメカニズムを使用して、モデルが変更されたことをAngularJSクライアント側コードに通知しますか? 私のアプリケーションでは、他の(Web以外の)サーバー側ソフトウェアがデータベースを更新することがあるという課題があります。ただし、この質問は、AngularJS Webクライアントを介してデータベースを変更する複数のクライアントが存在する可能性がある純粋なWebアプリにも同様に当てはまり、そのうちの1つがDB(モデル)に変更を加えるときにそれぞれを更新する必要があります。

2
クライアントとサービス間のゲートウェイとのSocketIO通信?
要旨 マイクロサービスベースのアーキテクチャ(Kubernetes)で実行されるアプリケーションがあります。アプリケーションの外部とのすべての通信は、API Gatewayを介して行われます。 つまり、私のフロントエンドからのリクエストはサービスに直接送信されませんが、ゲートウェイを経由する必要があります。 動かす 次に、フロントエンドと内部サービス間のリアルタイム通信を必要とする機能を実装する必要があります。しかし、内部サービスは外部に公開されていないため、ゲートウェイを介してリアルタイムデータを「ルーティング」する方法が必要です。 すべてのサービスがNode.jsで実行されているため、Socket.IOを使用してリアルタイム通信を実装したいのです。 問題 しかし、スケッチから紫色の二重矢印を実装する方法は? そのため、通常、フロントエンドクライアントは、Socket.IOが実行されているサーバーに接続します。しかし、私の場合、このサーバー(リアルタイム機能サーバー)はクライアントからアクセスできません(アクセスできないはずです)。つまり、クライアントはゲートウェイに接続する必要があります。したがって、ゲートウェイは、すべての着信メッセージをリアルタイムサービスとその逆にルーティングするメカニズムを実装する必要があります。 アイデア (1)ゲートウェイでイベントをリッスンする2番目のHTTPサーバーを用意し、それらのイベントをリアルタイムサーバーに送信します。反対の方向では、リアルタイムサーバーはゲートウェイにイベントを発行し、ゲートウェイはそれをフロントエンドに発行し​​ます。このアプローチは間違いなくうまくいくと思いますが、すべてを2回放出するのは冗長なようです。そして、それは間違いなくパフォーマンスを損なうでしょうか? (2)Socket.IOアダプターを使用して「ノード間でイベントを渡す」。これは「プロセスまたはコンピューター間でメッセージを渡す」ために使用されるため、正しい方法と思われます。しかし、ドキュメントやサンプルが不足しているため、使用を開始するのに問題があります。私もRedisを使用していません(アダプターを使用するために必要ですか?) (3)socket.io-emitterパッケージを使用します。これは、最後のコミットが3年前からあったため、良いオプションとは思えません。 (4)他に何かありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.