node.js實現的簡單udp廣播伺服器和客戶端程式碼例項

admin發表於2017-03-28

本章節分享一下如何實現簡單的udp廣播伺服器和客戶端程式碼,希望能夠給需要的朋友帶來參考作用。

下面分佈做一下介紹:

一.伺服器用於接收廣播資料:

[JavaScript] 純文字檢視 複製程式碼
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);

二.客戶端程式,傳送廣播訊息:

[JavaScript] 純文字檢視 複製程式碼
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();
});

需要注意的是socket.setBroadcast(true);必須在繫結socket成功後才能呼叫,否則會報Error: setBroadcast EBADF的錯誤。

相關文章