ノードjで作業を始めました。ノードjsを使用してチャットアプリケーションを作成しようとしています。 1人のユーザーが複数のデバイスやブラウザを使用してログインできます。もし私が間違っていないと私はブラウザのIPアドレスとポートアドレスによって定義されているので、異なるポートアドレスで通信することを理解しているので、同じユーザーが2つの異なるブラウザからログインすると、ユーザーがすでに接続されている場合は、socket infoに送信します。ユーザーがすでに接続されているか、ソケットが既にユーザー用に設定されている場合は、ソケットIDを以前のソケットIDに変更する接続を作成します。 kが以前に接続された同じユーザノードjsのソケット接続
のソケットIDが今他のクライアントは、現在のユーザにメッセージを発するときに、ソケットIDが交換されている、唯一のブラウザは、メッセージ、またはそれらの両方を取得
io.on('connection', function(socket){
socket.id = k;
});
メッセージを受け取る。サーバーの接続は、ブラウザーまたは単一のブラウザーの両方に設定されていますか。これを手伝ってください。私はまだクライアントとサーバーの間でソケット接続が確立する方法についてはまだ明確ではありません。 私が間違った仮定をしている場合、改善してください。または、次のscenerioをどうやって解決すればいいですか? ありがとうございます
私の質問は、ブラウザやコンピュータによって異なる場合があります。ユーザーが複数のコンピュータからログインした場合や、ブラウザが異なる場合があります。 –
異なるブラウザまたは異なるコンピュータ(ルーム/名前空間の実装をしていない場合)は、多くのタブを持つのと同じです。ソケットは 'someIp:somePort'と言うことができます。 '98.45.32.21:3000'は変更されないので、" hello "を送信すると、サーバーはhelloで(上記の実装で)全員に応答します。 – mkaran
ユーザーが2つの異なるブラウザからログインして同じメッセージ(ただしメッセージのみ)を表示するようにするには、そのユーザーを正しいルームと関連付ける必要があるため、2番目のブラウザから接続し、 'sagar'、あなたは彼を正しい部屋に入れるでしょう。 – mkaran