【问题标题】:how to transfer data received from UDP to the webpage in node.js如何将从UDP接收到的数据传输到node.js中的网页
【发布时间】:2016-07-01 02:30:06
【问题描述】:

我正在运行来自here 的两个应用程序。所以我们有一个客户:

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);

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

【问题讨论】:

    标签: javascript node.js udp


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢,我找到了这个(问题)[stackoverflow.com/questions/16190028/…,但不幸的是答案已经消失了(外部网页上的代码)......我看到这个用户有完全相同的问题/我遇到的问题 - 我还坚持将值传递给浏览器。你能帮我吗,也许有一些简单的工作示例,或者……?非常感谢您的帮助,非常感谢您
    猜你喜欢
    • 1970-01-01
    • 2020-04-10
    • 2019-02-05
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    相关资源
    最近更新 更多