node.js - 如何通过 Express 路由器内的套接字发出消息

标签 node.js express socket.io

我正在尝试通过 socket.io 发出消息。我想在调用快速路由器时执行此操作。

var express         =   require("express");
var app             =   express();
var http            =   require('http').Server(app);
var io              =   require('socket.io')(http);
var bodyParser      =   require("body-parser");
var router          =   express.Router();

router.route("/test").post(function(req,res){
    console.log(req.body)
    response = {"error" : false,"message" : "api worked"};
    /*I want to emit a message via socket here */
});


app.use('/',router);
app.listen(3010);
console.log("Listening to PORT 3010"); 

怎么办,我看过很多使用socket的例子。但我找不到办法做我想做的事。我还检查了以下问题。但我没能做到

How to use socket.io in express routes?

最佳答案

发布我的评论作为答案,因为它对您有用。

io.emit("someMsg", someData);

将发送给所有连接的用户。当然,您的客户端需要连接到 socket.io 才能接收消息。

关于node.js - 如何通过 Express 路由器内的套接字发出消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37130750/

相关文章:

javascript - 自动递增序列 Mongoose

node.js - Sequelize - 从外部表中关联和选择

node.js - 如何为数据库查询创建动态辅助函数

node.js - Socket.io 不同的客户端 ID

javascript - Mongoose - 在保存文档之前为每个对象生成 ObjectID

node.js - Node React,Action到达后端但不保存产品

javascript - 为什么我没有成功地在第二个代码部分中获得嵌入的 "if"来完成其工作?

javascript - Express js app.get 回调中如何获取多个独立的响应数据

javascript - Node.js + socket.io : app on server not working correctly

javascript - mySQL查询在相同条件下检索数据不同