我有一个聊天应用程序,我试图让用户选择从一个url(rest API)发送消息。这个消息应该发送到其他客户端连接到套接字。这里是一个代码小。这是一个nodeJs应用程序。
用户A和B在一个房间中。用户C希望从Rest API http://localhost:3000/sendMessage?message=hello&roomId=123向他们发送消息
import express from "express";
import { createServer } from "http";
import { Server } from "socket.io";
const app = express();
const httpServer = createServer(app);
const io = new Server(httpServer, {
/* options */
});
io.on("connection", (socket) => {
app.get("/sendMessage", function (req, res) {
res.send("Message sent");
// This will send message to other clients when this endpoint is called
io.to("devices-in-this-room").emit("message", req.body.content);
});
});
httpServer.listen(3000);
2条答案
按热度按时间q8l4jmvw1#
这可以简单地按如下方式完成。
客户
注意:此客户端只能通过express API发送到其他客户端。您可以将任何所需内容从服务器发送回客户端。如果您有www.example.com聊天应用程序,socket.io并且您希望在客户端没有socket.io库的情况下发送消息,则此功能非常有用
ve7v8dk22#
答案是不,REST是一种API架构模式,我们不能在WebSocket上使用REST。但是,HTTP和FTP是协议,我们可以在这些协议上使用WebSocket。好问题。