1

申し訳ありませんが、問題があります。私はコミュニティをプログしました。このコミュニティで1:1のチャットを実現したいです。

ユーザーがコミュニティにログインすると、login.php ファイルで接続が開始されます。

var socket = io.connect("http://localhost:8080"); 

ここで質問: この行でユーザー ID を送信できますか? チャットサーバーの sql-DB に数字のペアを保存したいので、接続 ID とコミュニティメンバーの ID です。これは、コミュニティ メンバーのチャット パートナーがログアウトして連絡が取れない場合に、チャットでコミュニティ メンバーに通知する必要があるためです。

どうもありがとう!!!そして私の悪い英語でごめんなさい。

4

1 に答える 1

0

クライアントでは、ユーザー ID をクエリ文字列として渡すだけです。

var socket = io.connect('http://localhost:8080?user=123');

サーバーでは、おそらくconnectionハンドラーでデータを処理する必要があります。これを行うには、ハンドラーを追加し、データをオブジェクトauthorizationに保存する必要があります。handshakeDataでアクセスできますsocket.handshake

io.set('authorization', function (handshakeData, callback)
{
    handshakeData.userId = handshakeData.query.user;
    callback(null, true);
});

io.sockets.on('connection', function(socket)
{
    console.log(socket.id, ' => ', socket.handshake.userId);
}
于 2013-10-15T07:54:44.420 に答える