2014-12-21 41 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'); 
});