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的事件,但是如何?