2014-12-21 113 views
0

我有得到一個問題通過使用socket.on()不接收數據

io.sockets.on('connection', function(socket) { 
    socket.on('show msg', function(data) { 
     console.log(data); 
    }); 
}); 
在server.js

$('#showmsg').click(function() { 
var socket = io.connect('http://localhost:3000'); 
var msgText = $('#msgtext'); 
socket.emit('show msg', msgText.val()); 
}); 

該代碼工作,如圖socket.on工作,我主要的應用程序文件,但是在另一個文件中,當我使用的代碼

$(document).ready(function(){ 
     var socket = io.connect(); 
     socket.on('show msg', function(data) { 
      $('#container').hide(); 
     }); 
    }); 

什麼也沒有發生。有誰知道我可以如何讓這個代碼工作?

回答

1

我認爲發生的事情是,在您的document.ready功能,您試圖調用io.connect(),但是你在呼喚演出前的消息插座已連接。試着這樣做

socket.on('connect', function(){ 
    socket.on('show msg', function(data) { 
     $('#container').hide(); 
    }); 
}); 
1

沒有任何反應,因爲你什麼也沒發出。

$(document).ready(function(){ 
    var socket = io.connect('http://localhost:3000'); 
    socket.on('show msg', function(data) { 
    $('#container').hide(); 
    }); 
    socket.emit('show msg', 'right now I am emitting data'); 
});