node.js - 从路由控制器 _ express + nodejs + webSocket 向 Web 套接字发布消息
问题描述
我想知道是否可以从路由器控制器级别访问 ws 实例?
这是我的入口点:
// app.js
// .... app configs
const server = createServer(app);
const websocket = new WebSocketServer({ httpServer: server });
websocket.on("request", (request) => {
let connection = request.accept(null, request.origin);
connection.on("message", (message) => {
connection.send("message");
console.log(message);
});
connection.on("close", () => console.log("client closed"));
return connection
});
我在请求对象中做了一些修改,以便在每个请求对象中访问 ws 实例:
app.use((req, res, next) => {
req.ws = websocket;
next();
});
所以我想知道如何发布消息:
req.ws.send({message: "hi"})
我用 socket-io 尝试了这个技巧。但在这里我无法访问 ws.send() 函数。
解决方案
推荐阅读
- python - 有没有办法舍入非常大的分数,如 3.7625745528893614e-83?
- vb.net - 如何在 VB.NET 中实现 lambda 表达式(错误:表达式不是方法)
- html - 我如何更改圆圈内的徽标大小
- python - 在 Python 函数中使用 **kwargs
- azure-devops - 是否可以在 azure devops 的看板上使用自定义工作项类型?
- python - 插入枚举值的问题(Postgres + SQL Alchemy)
- r - R 无法找到 gsl/gsl_rng.h
- math - 找到 2 个彼此尽可能接近的数字,当相乘时给出整数 X
- haxe - 使用重构将 Javascript 转换为 Haxe
- c# - 将扩展 ASCII 转换为 UTF8