如何将UDP接收到的数据传输到node.js中的网页



我正在从这里运行这两个应用程序。所以我们有一个客户:

var PORT = 5007 ;
var dgram = require('dgram');
var client = dgram.createSocket('udp4');
client.on('listening', function () {
var address = client.address();
console.log('UDP Client listening on ' + address.address + ":" + address.port);
client.setBroadcast(true)
client.setMulticastTTL(128); 
client.addMembership('224.1.1.1');
});
client.on('message', function (message, remote) {   
console.log('A: Epic Command Received. Preparing Relay.');
console.log('B: From: ' + remote.address + ':' + remote.port +' - ' + message);
});
client.bind(PORT);

和一个服务器:

var PORT = 5007 ;
var dgram = require('dgram');
var client = dgram.createSocket('udp4');
client.on('listening', function () {
var address = client.address();
console.log('UDP Client listening on ' + address.address + ":" + address.port);
client.setBroadcast(true)
client.setMulticastTTL(128); 
client.addMembership('224.1.1.1');
});
client.on('message', function (message, remote) {   
console.log('A: Epic Command Received. Preparing Relay.');
console.log('B: From: ' + remote.address + ':' + remote.port +' - ' + message);
});
client.bind(PORT);

当我在两个独立的控制台中运行它时,它运行得很好——我看到传输正在进行,消息出现在两个网站上。现在,我如何将所有这些数据显示/传输到任何网页?谢谢

如果您希望它是实时的或根据请求提供服务,这取决于它所组合的类型数据。

如果你想根据请求提供数据,你必须将数据存储在某个地方,以便以后可以访问。要么在文件系统上,要么在MongoDB的GridFS中,要么直接在数据库中(正如我所说,取决于它是什么类型的数据)

如果你想让它实时流式传输到连接的网络客户端,你必须使用Socket.io或WebRTC之类的东西。两者之间的差异是显著的。Socket.io使用起来很简单,但需要一个中间人服务器,而WebRTC(Web实时通信)在浏览器中是直接对等的,使用起来要困难得多。WebRTC是相当新的,在旧的浏览器版本中不可用,所以我建议在这种情况下使用Socket.io或类似版本。

希望你能更好地了解你所拥有的可能性。无论哪种方式,您都需要在两个客户端之间的某个位置捕获数据(如您的客户端-服务器示例所示)

最新更新