Node.js UDP 广播服务器与客户端实现指南
作者:墨池时间:2026-10-28 14:23:04浏览:400
本文介绍如何使用 Node.js 的 dgram 模块实现 UDP 广播功能。通过创建服务器监听特定端口接收广播数据,以及配置客户端 socket.setBroadcast(true) 发送广播消息,展示了完整的代码示例。重点强调了在绑定 socket 成功后调用 setBroadcast 以避免 EBADF 错误的关键步骤。
Node.js UDP 广播服务器实现
在 Node.js 中实现 UDP 广播相对简单。首先,我们需要编写一个服务器端代码来接收广播数据。
服务器端代码如下:
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);
Node.js UDP 广播客户端实现
接下来,我们编写一个客户端程序来发送广播消息。
客户端代码如下:
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 错误。
客户端发送广播的操作相对简单,只需正确设置发送的数据内容和目标端口等信息即可。
作者最新文章
macOS卸载Node.js指南:区分Homebrew与pkg安装包的处理方式
2026-11-05 11:28:12
JS逆向入门:浏览器Console调试与Node.js环境搭建指南
2026-11-05 10:57:15
Node.js 大版本升级需要注意哪些破坏性变更
2026-11-03 20:35:44
Node.js官网LTS版与Current版有什么区别
2026-11-03 19:33:49
Windows彻底卸载Node.js:清理AppData残留与PATH环境变量
2026-11-03 19:15:35
