Nodejs implementation of a simple udp broadcast server client

  • 2020-03-30 03:58:57
  • OfStack

Nodejs sending udp broadcast is quite simple, we first write a server to receive broadcast data, the code is as follows:


var dgram = require("dgram"); var server = dgram.createSocket("udp4"); server.on("error", function (err) {
  console.log("server error:n" + err.stack);
  server.close();
}); server.on("message", function (msg, rinfo) {
  console.log("server got: " + msg + " from " +
    rinfo.address + ":" + rinfo.port);
}); server.on("listening", function () {
  var address = server.address();
  console.log("server listening " +
      address.address + ":" + address.port);
}); server.bind(41234);

Then write a client program, send broadcast message, the code is as follows:


var dgram = require("dgram"); var socket = dgram.createSocket("udp4");
socket.bind(function () {
  socket.setBroadcast(true);
}); var message = new Buffer("Hi");
socket.send(message, 0, message.length, 41234, '255.255.255.255', function(err, bytes) {
  socket.close();
});

Note that socket.setbroadcast (true); It can only be called after successfully binding the socket, otherwise it will report an Error: setBroadcast EBADF Error.

It is quite simple for the client to send the broadcast, and it is OK to set the data and port that need to be sent.


Related articles: