Node.js Socket.io广播不工作
我有以下代码:Node.js Socket.io广播不工作,node.js,socket.io,Node.js,Socket.io,我有以下代码: var room = "1"; var chat = io.connect("localhost:3700/"); self.chat = chat; chat.on("connection", function(socket){ socket.emit("room", room); socket.on('message', function (data) { self.receiveMessage(data
var room = "1";
var chat = io.connect("localhost:3700/");
self.chat = chat;
chat.on("connection", function(socket){
socket.emit("room", room);
socket.on('message', function (data) {
self.receiveMessage(data);
});
});
chat.broadcast.to(room).emit('send',"HEllo");
接收信息:
receiveMessage: function(data){
var $elem = $("#chat1");
var $content = $elem.find(".messageText");
if(data.message) {
messages.push(data);
var html = '';
for(var i=0; i<messages.length; i++) {
html += '<b>' + (messages[i].username ? messages[i].username : 'Server') + ': </b>';
html += messages[i].message + '<br />';
}
$content.html(html);
} else {
console.log("There is a problem:", data);
}
}
receiveMessage:函数(数据){
变量$elem=$(“#chat1”);
var$content=$elem.find(“.messageText”);
if(data.message){
消息推送(数据);
var html='';
对于(var i=0;i不太确定,但我认为您只能通过连接发送广播
您可以尝试以下方法:
var room = "1";
var chat = io.connect("localhost:3700/");
self.chat = chat;
chat.on("connection", function(socket){
socket.emit("room", room);
socket.on('message', function (data) {
self.receiveMessage(data);
});
chat.broadcast.to(room).emit('send',"HEllo");
});
当然,您也可以在单独的处理程序中发送广播,即:
var room = "1";
var chat = io.connect("localhost:3700/");
self.chat = chat;
chat.on("connection", function(socket){
socket.emit("room", room);
socket.on('message', function (data) {
self.receiveMessage(data);
});
socket.on('foo event', function(data) {
chat.broadcast.to(room).emit('send',"HEllo");
}
});
然后如何通过编程调用foo事件
?我对socket还不太熟悉,所以有点困惑;),事实上,连接
函数从来都不是triggered@rickyduckemit('foo event',data);将调用'foo event'。