客户端未使用 Socket.io 和 Node.js 实时更新

Client not updating realtime with Socket.io and Node.js

本文关键字:Node js 实时更新 io 未使用 Socket 客户端      更新时间:2023-09-26

为什么我的客户端不使用 socket.io 和node自动更新.js?

我的后端接受来自PHP的JSON POST请求,然后将数据发送到所有连接的设备。

我的后端代码

app.post('/', function (req, res) {
    console.log(req.body);
    subdata = req.body;
    res.send('ok');
});
io.sockets.on('connection', function (socket) {
    socket.broadcast.emit('info', subdata);
});

客户端

<script>
    var socket = io.connect('http://127.0.0.1:3000/');
    socket.on('info', function (data) {
      console.log(data);
    });
</script>

这是因为您只在建立新的 socket.io 连接时发出一次。如果再次调用 app.post 回调,则不会发出来自 socket.io 的另一条消息。

您希望从app.post回调中发出,并停止使用全局变量。