2016-06-29 58 views
0

我的項目的骨架因此使用此解決辦法明確,發電機:hereSocket.io客戶沒有收到消息事件

SERVER:

io.on('connection', function(socket){ 
socket.on('message', function(msg){ 
    io.emit('message', msg); 
}); 
}); 

客戶:(包括Src在插座)

var socket = io.connect('//localhost:5000'); 

function op(){ 
    socket.emit('message', $('input[name=yolo]:checked', '#myForm').val()); 
}; 

socket.on('message', function(msg){ 
    console.log("oo"); 
    $("input[value=msg]").attr('disabled',true); 
    alert($("input[value=msg]").val()); 
}); 

FORM

form(action='' id="myForm") 
///form inputs 
input(type="submit" value="book" onclick="op()") 
  1. 連接在雙方進行驗證。

  2. 消息由服務器接收的,但它不發射它爲客戶端socket.on(「消息」 ...來觸發。

  3. 測試的每一步僅最後socket.on(」消息」 ..沒有觸發。

回答

0

發現問題。我正在使用Firefox,它只是不工作與Socket.io轉移到chrome和一切工作正常。

+0

Firefox現在可以與Socket.io一起使用。 –

0

變化

io.on('connection', function(socket){ 
socket.on('message', function(msg){ 
    io.emit('message', msg); 
}); 
}); 

io.on('connection', function(socket){ 
socket.on('message', function(msg){ 
    socket.emit('message', msg); 
}); 
}); 
+0

它應該只是'io',試過你的建議不起作用。 – Red

+0

如果你想把它發送給所有的客戶,使用: 'io.sockets.emit('message',msg);' – Heartz

+0

是的,這相當於'io.emit'。 – Red

相關問題