【发布时间】:2020-02-17 09:03:12
【问题描述】:
我一直在尝试创建一个使用电报机器人、快递服务器和反应应用程序的应用程序。因此,我需要从电报机器人创建一个 POST 请求来表达,而 express 将 POST 数据发送到 websocket 连接:
const express = require("express");
const app = express();
const expressWs = require("express-ws")(app);
// handles bot request
app.post("/request", (req, res) => {
playlist.push(req.body.url);
res.status(200).send({ message: "video is added to playlist" });
});
// after handling requst data must go here and send ws message to client side
app.ws("/echo", (ws, req) => {
ws.on("message", msg => {
ws.send(`msg is = ${msg}`);
});
});
我做对了吗,如果是,如何在 app.post 路由处理请求后调用 ws.send?
【问题讨论】:
-
可能有多个客户端连接到
/echo端点,这与您的/request端点无关。如果您尝试做的是将发布请求的内容广播到连接的客户端,那么您将必须监视对发布端点的请求并将该请求发送到这些客户端。您可以改用 ws 包。
标签: javascript node.js express websocket