Node.js 如何使用socket.io向其他客户端(用户)发送数据?
我正在向所有客户端发送数据,但它仅附加在发件人的邮件正文上。在这种情况下,实时数据只对发送方有效,但我需要对每个连接的用户有效 在阅读文档后,它说,广播可能是解决方案,但它不显示给发送者(这意味着OK),但也不显示给其他连接的接收器 Custom.js App.jsNode.js 如何使用socket.io向其他客户端(用户)发送数据?,node.js,mongodb,express,mongoose,socket.io,Node.js,Mongodb,Express,Mongoose,Socket.io,我正在向所有客户端发送数据,但它仅附加在发件人的邮件正文上。在这种情况下,实时数据只对发送方有效,但我需要对每个连接的用户有效 在阅读文档后,它说,广播可能是解决方案,但它不显示给发送者(这意味着OK),但也不显示给其他连接的接收器 Custom.js App.js 我想将数据附加到所有已连接的用户,包括发件人。如果您想将消息发送到所有可使用的已连接套接字 io.sockets.emit('msgResult', 'data'); 如果要将消息发送到除发送方之外的所有已连接的套接字,请使用 s
我想将数据附加到所有已连接的用户,包括发件人。如果您想将消息发送到所有可使用的已连接套接字
io.sockets.emit('msgResult', 'data');
如果要将消息发送到除发送方之外的所有已连接的套接字,请使用
socket.broadcast.emit('msgResult', 'data');
socket服务器的index.js应该具有
//webServerPort=localhost:3000
const server = http.createServer(app);
let constAppServer = server.listen(webServerPort);
let io = socketServer(constAppServer);
app.set('socket',io);
io.on('connection', function (socket) {
console.log('connection opened');
socket.on('disconnect', function(){
console.log('user disconnected');
});
socket.on('udagent',function(msg){
console.log('message: ' + msg);
});
});
当您要将事件发送到前端时,这是event.js
我有一个api,通过创建和传递这个api,将我的管理通知广播给我手下的所有代理
const broadCastUpdates =(req,res)=> {
const {message} = req.body
let io = req.app.get('socket');
io.broadcast.emit('broadCastToAgents', { 'data':message });
}
我终于找到了答案。这是一个简单的错误,需要很多时间 custom.js App.js
我只是从ajax提交中插入我的msgResult。就这样。不起作用了。顺便说一下,我编辑了几行代码。我希望它能有所帮助。在编写
socket.on('send',data=>console.log(data)
)时,您在客户端和服务器端都看到了数据吗?是的。我在客户端和服务器端都看到了。但它只在发送方控制台显示。您的socket io客户端和服务器版本是什么?我使用了客户端2.0.3和服务器2.1.1,只替换了您的socket.1('msgResult',data.msg);
withio.sockets.emit('msgResult',data.msg)
而且它工作得非常好我理解你的解决方案。但这不是我想要的。我的消息通过其他路由文件提交,这是完全正确的,我可以通过app.Js文件使用套接字获取数据。但是为什么它只对发送者有效?它应该对所有连接的接收者有效。嘿,兄弟,你能告诉我如何才能在event.js部分的广播中设置它?这是不可能的,因为广播事件触发器将传递到所有连接的套接字,仅排除触发事件的人,即发送者
const server = http.createServer(app);
let constAppServer = server.listen(webServerPort);
let io = socketServer(constAppServer);
app.set('socket',io);
io.on('connection', function (socket) {
console.log('connection opened');
socket.on('disconnect', function(){
console.log('user disconnected');
});
socket.on('udagent',function(msg){
console.log('message: ' + msg);
});
});
const testFunction =(req,res)=> {
let io = req.app.get('socket');
io.emit('dashboard_event', { "totalMin": data });
}
const broadCastUpdates =(req,res)=> {
const {message} = req.body
let io = req.app.get('socket');
io.broadcast.emit('broadCastToAgents', { 'data':message });
}
var socket = io.connect("http://localhost:3000/");
$.ajax({
url: 'sent',
type: 'POST',
data: {
msg: 'Some message'
},
dataType: "json",
success: function (data) {
if (data.message) {
socket.emit('send', {
msg: data.msgResult
});
}
}
});
socket.on('msgResult', result => {
$(".msgDiv").append(result);
});
const app = express();
const http = require("http").Server(app);
const io = require("socket.io")(http);
io.on('connection', (socket) => {
console.log('Socket.io connected...');
socket.on('send', (data) => {
socket.emit('msgResult', data.msg);
});
socket.on('disconnect', () => {
console.log("A socket Discounted ..");
});
});