2013-04-09 33 views
9

Ben oda arıyorum ama katılmak ve bırakmak çalışmıyor socket.io wiki üzerinde çalışıyorum, onlar bir kaç şey değişmiş olabilir, ancak güncelleme şansı olmadı mı merak ediyorum wiki?socket.io join/leave

socket.join("room-"+data.meid); 
socket.leave("room-"+meid); 

neden im alma konsol hataları:

Uncaught TypeError: Object #<SocketNamespace> has no method 'leave' 
Uncaught TypeError: Object #<SocketNamespace> has no method 'join' 

cevap

11

Muhtemelen doğru 'soket' ilan etmiyoruz ikinizden o doğru Soket-io yüklü değildir. Aşağıdakileri deneyin ...

var io = require("socket.io"); 

var socket = io.listen(80); 

socket.join('room'); 

socket.leave('room'); 

Yararlı bir yürütülebilir örnek here var.

+2

Bu cevap yanlış feryat cevaba bakınız edilir: istemci üzerinde bu

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); 

Ve:

sunucuda koy –

39

İstemci tarafında socket.join vardı gibi görünüyor. Bir sunucu tarafı işlevi.

var socket = io.connect(); 

socket.emit("subscribe", { room: "global" }); 

socket.on("roomChanged", function(data) { 
    console.log("roomChanged", data); 
});