我在socket.io wiki上寻找使用房间,但是加入和离开都不起作用,我想知道他们是否可能改变了一些但没有机会更新维基?
socket.join("room-"+data.meid);
socket.leave("room-"+meid);
Run Code Online (Sandbox Code Playgroud)
因为我得到控制台错误:
Uncaught TypeError: Object #<SocketNamespace> has no method 'leave'
Uncaught TypeError: Object #<SocketNamespace> has no method 'join'
Run Code Online (Sandbox Code Playgroud)
Gar*_*ows 55
看起来你在客户端有socket.join.它是服务器端功能.
把它放在服务器上:
io.sockets.on('connection', function (socket) {
socket.on('subscribe', function(data) { socket.join(data.room); })
socket.on('unsubscribe', function(data) { socket.leave(data.room); })
});
setInterval(function(){
io.sockets.in('global').emit('roomChanged', { chicken: 'tasty' });
}, 1000);
Run Code Online (Sandbox Code Playgroud)
这在客户端:
var socket = io.connect();
socket.emit("subscribe", { room: "global" });
socket.on("roomChanged", function(data) {
console.log("roomChanged", data);
});
Run Code Online (Sandbox Code Playgroud)
Aid*_*anc 21
您可能没有正确声明'套接字',或者您没有正确安装Socket-io.试试以下......
var io = require("socket.io");
var socket = io.listen(80);
socket.join('room');
socket.leave('room');
Run Code Online (Sandbox Code Playgroud)
有一个有用的可执行的例子在这里.
归档时间: |
|
查看次数: |
36033 次 |
最近记录: |