为什么我的客户端不使用 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
回调中发出,并停止使用全局变量。