的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正文的内容?
答案 0 :(得分:1)
如果您希望服务器和客户端之间进行快速通信,并且服务器端处理是在套接字上获取消息,那么我建议使用socket.io。
您可以在客户端和服务器之间建立Web套接字连接,并且服务器可以在收到消息时将消息发送给所有客户端。在您的客户端上,您的代码与您已创建的代码类似。这是来自socket.io docs的示例代码段。
socket.on('new message', function (data) {
document.body.innerHTML = data;
// do something with the new data
});
This answer包含一个好的socket.io示例。