在运行时定期更改 HTML 正文的内容 - NodeJS

Changing the content of HTML body at runtime periodically - NodeJS

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body></body>
</html>

app.js

我有一个简单的 UDP 套接字和一个简单的 HTTP 服务器:

var socket = require( "dgram" ).createSocket( "udp4" );
socket.on("message", function ( message, requestInfo ) {
    document.body.innerHTML = message; // which obviously wrong
    // because the file is running on the client-side
    // I'm looking for something equivalent 
});

socket.bind(1247);

var http = require('http'), fs = require('fs');
fs.readFile('./index.html', function (err, html) {
   http.createServer(function(request, response) {
        response.writeHeader(200, {"Content-Type": "text/html"});
        response.write(html);
        response.end();
    }).listen(1247,'xx.xx.xx.xx');
});

我正在从另一台设备成功并定期(每 5 秒)接收 UDP 消息。

有没有办法在每次收到UDP报文时,在用户第一次请求后,改变HTML正文的内容?

如果您希望在服务器和客户端之间进行快速通信,并且您的服务器端处理是在套接字上获取消息,那么我建议使用 socket.io

您可以在客户端和服务器之间建立一个web-socket连接,服务器收到消息后可以将消息向下发送给所有客户端。在您的客户端上,您将拥有与您已经创建的代码类似的代码。这是来自 socket.io 文档的示例片段。

socket.on('new message', function (data) {
    document.body.innerHTML = data;
    // do something with the new data
});

This answer 包含一个很好的 socket.io 示例。