Nodejs实现的一个简单udp广播服务器、客户端


Posted in NodeJs onSeptember 25, 2014

nodejs发送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);

然后写个客户端程序,发送广播消息,代码如下:

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的错误。

客户端发送广播还是蛮简单的,设置好需要发送的数据和端口等信息就OK了。

NodeJs 相关文章推荐
nodejs入门详解(多篇文章结合)
Mar 07 NodeJs
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 NodeJs
NodeJS制作爬虫全过程
Dec 22 NodeJs
NodeJS学习笔记之Http模块
Jan 13 NodeJs
NodeJS学习笔记之FS文件模块
Jan 13 NodeJs
快速掌握Node.js之Window下配置NodeJs环境
Mar 21 NodeJs
详解nodejs微信公众号开发——1.接入微信公众号
Apr 10 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
nodejs中方法和模块用法示例
Dec 24 NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
Jan 03 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 NodeJs
nodejs+koa2 实现模仿springMVC框架
Oct 21 NodeJs
Nodejs异步回调的优雅处理方法
Sep 25 #NodeJs
nodejs命令行参数处理模块commander使用实例
Sep 17 #NodeJs
nodejs npm package.json中文文档
Sep 04 #NodeJs
使用Nodejs开发微信公众号后台服务实例
Sep 03 #NodeJs
Nodejs+express+html5 实现拖拽上传
Aug 08 #NodeJs
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
Aug 03 #NodeJs
NodeJS学习笔记之网络编程
Aug 03 #NodeJs
You might like
PHP时间戳使用实例代码
2008/06/07 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
通过实例解析PHP数据类型转换方法
2020/07/11 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
VueJS全面解析
2016/11/10 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
python解析html开发库pyquery使用方法
2014/02/07 Python
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
python中eval与int的区别浅析
2019/08/11 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
python安装及变量名介绍详解
2020/12/12 Python
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
护士进修自我鉴定
2014/02/07 职场文书
2014新年元旦活动策划方案
2014/02/18 职场文书
2014村务公开实施方案
2014/02/25 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
投标担保书范文
2014/04/02 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
合作意向协议书
2015/01/29 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
python实现自定义日志的具体方法
2021/05/28 Python