2016-09-05 13 views
1

ウェブアプリケーション(クライアントサイドのHTML/CSS/JavaScript、サーバサイドのウェブサービス)を開発しました。サーバー側でいくつかのWebメソッドを呼び出すクライアント側の各ユーザーアクション。サーバサイドからクライアントサイドへの「メッセージ」の送信

しかし、アプリケーションで複数のブラウザタブを開いたときにいくつかの問題が発生するため、別のブラウザのタブにログインするたびにすべてのブラウザのタブ(現在のタブを除く)で強制的にログアウトすることにしました。 そのクライアント側を実装する方法は、サーバー側から「メッセージ」を受け取ることができますか?

+3

閉じる必要があります! autobahn.ws/node.js/....のようなWebSocketを使用してください。 –

+1

私は、各ユーザー/クライアントアプリケーションインスタンスに固有のID /トークンを追加して、各タブが1つを作成し、競合が発生しないようにする必要があると思います。すべてのタブを閉じます(ただしテレグラムでも同じです) – booboos

+1

私はこれを行う代わりに、驚くべきことではなく、おそらくユーザーを覚えることでユーザーの好む作業方法(複数のタブ)に合わせてアプリケーションを変更することをお勧めします新しいタブを開いたときに他のタブに表示されます。 –

答えて

2

あなたはサーバ側からクライアント側にメッセージを送信すると言うとき、私は好きですが、Node.jsの上の応答を望んでいないことを前提としています

res.status(200).send('Hello World')はあなたがいないのですか?

したがって、必要なものはウェブソケットを使用していることです。私はあなたが使用することをお勧めしますsocket.io

あなたはサーバー側のソケットでメッセージを送信し、クライアント側でそのメッセージを聞く必要があります。

Webソケットを使用すると、IDで識別された各ユーザ、またはブロードキャストでメッセージを送信することができます。 Websockestsには多くの可能性があります。

ウェブ上の例は、ウェブソケットを使用して見つけることができます。私はそれがあなたが探しているものだと思います。

関連する問題