0
私のプロジェクトでは、各ユーザーが自分の一意のチャンネルに参加しています(私はそのユーザーがsocked idチャンネルにもいることを知っています)。サーバー側ではsocket io固有のチャンネル - 部屋を指定しないで放します
クライアント
var socket = io('http://localhost:8000/');
var room = "unique_id";
socket.on('connect', function() {
socket.emit('room', room);
});
socket.on("unique_id", function() {
console.log("test");
})
私は、ユーザーが接続されている部屋をチェックしています:今、私は象を使用しています接続
{ 'DQOt2DX2IsHh-m9nAAAC': { sockets: { 'DQOt2DX2IsHh-m9nAAAC': true }, length: 1 },
'unique_id': { sockets: { 'DQOt2DX2IsHh-m9nAAAC': true }, length: 1 } }
に
var io = require('socket.io')(8000);
io.on('connection', function(socket) {
var room;
socket.on('room', function(unique_id) {
socket.join(unique_id);
room = unique_id;
console.log(io.sockets.adapter.rooms); //show the unique_id room
io.to(room).emit('hello', 'msg');
});
socket.on(room, function(data) {
console.log(room);
})
});
出力。次のようにクライアントに送信するio:
$client = new Client(new Version1X('http://localhost:8000'));
$client->initialize();
$client->emit('unique_id', ['news' => 'bar']);
$client->close();
私のサーバー側に何か問題があると思いますが、解決できません。私はunique_idのイベントを処理する必要がありますが、どのように処理する必要がありますか?