2016-06-29 7 views
-1

私は特定のメッセージをページにリロードするユーザーに送信します。できます。しかし、別のクライアントがinit emitをサーバーに送信すると、私はスパムに気付きました。クライアントが単独で接続する場合は、クライアントだけがこのメッセージを取得する必要があります。io.sockets.in( "room")。emit( "message"、 "hello");

ユーザがinitを発行したときにio.sockets.in( "room")のみを送信することは可能ですか?

クライアント:

socket.emit('join', {session: session}); 

socket.emit('init', {}); 

socket.on('message', function(data) { 
    console.log("test"); 
}); 

サーバ:

io.on("connection", function (socket) { 
    socket.on('join', function (data) { 
    socket.join(data.session); 
    }); 

    socket.on("init", function() { 
    io.sockets.in(session).emit("message", "hello"); 
    }); 
}); 
+1

あなたの質問を編集して他の人にはっきりさせようとしましたが、自分が何を言っているのかを理解するのが難しいです。 – Tagc

答えて

0

socket.emit( "メッセージ"、 "こんにちは"); ?

0

はい、申し訳ありませんが、この背後にある機能を知っていない場合は説明することは難しいです。私の母国語ではなく、英語で説明するのも難しいです。

この問題を解決する簡単な方法が見つかりました。私はinitのセッションを発行します。そして、このセッションが==セッションなら、サーバーにチェックインします(リクエストをjson php echoから取得します)。

この「hello」を正しいクライアントに送信します。

関連する問題