0
當我呼叫發出沒有io.emit()時,所有連接的客戶端都會收到您所期望的消息。但是,當嘗試使用io.to(socket.id).emit()將消息發送到默認房間時,客戶端不會收到消息。socket.io發射到默認房間不起作用
指的默認文檔的房間在 http://socket.io/docs/rooms-and-namespaces/#default-room
使用的NodeJS v4.2.6
客戶:
var socket = io();
socket.on('connect', function() {
$.ajax({
url: '/some-path',
type: 'POST',
data: {socket_id: socket.id},
success: function(data) {
console.log(data);
}
});
});
服務器:
app.post('/some-path', function(req, res) {
var socketID = req.body.socket_id;
io.to(socketID).emit('message', {'message': socketID});
res.end(socketID);
});
請告訴我們相關的代碼。發送到房間時,在正確完成socket.io時工作得很好,這很明顯,這必須是您的代碼。關於代碼的問題必須包含相關的代碼。如果你不包含它,我們如何知道你在代碼中做了什麼錯誤? – jfriend00
謝謝@ jfriend00,我認爲你的建議對理解我發現的內容會有很大的影響。 – chmoder