从节点js发送udp消息到html

时间:2016-07-21 15:05:26

标签: javascript html node.js sockets

var dgram = require(‘dgram’);
var client = dgram.createSocket(‘udp4’);
var PORT= 69;
var HOST= '192.168.0.136'
var message= new Buffer('hello');


set interval(function() {
client.send(message,0,message.length,PORT, HOST, function (err, bytes) {

});
} , 10000);

client.on('message', function(message) {
var temp = message.toString();
console.log(temp);
});

这是我制作的一个非常快速的udp示例。每隔10秒就会向服务器发送一条udp消息“hello”。然后收到的消息将打印到控制台。设置udp服务器,以便每次收到任何消息时都会发送一个随机数。我想将此消息发送到html页面并在html页面上打印,而不是打印到控制台。有人可以显示一个快速示例,其中的消息将在html页面中的输出框中展示,该输出框将使用新消息进行更新。我研究了一些消息来源说websockets不能发出udp数据包,但其他人说不然。请帮我澄清一下。

2 个答案:

答案 0 :(得分:1)

节点js -

  io.on('connection', function(socket){
      client.on('message', function(message){
        var temp= message.toString();
        io.emit('temp', temp);
      });
    });

html -

<script>
var socket = io();
socket.on('temp', function(temp){
  $('#messages').html(temp);
});

在您的节点js中包含上述代码,该消息由client.on接收,然后发送到套接字。 html页面有一个用于任何传入消息的套接字监听器。

答案 1 :(得分:0)

你不能。
Websockets是一个独立的协议,不能直接发送原始UDP数据包。