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 相关文章推荐
PHP和NodeJs开发的应用如何共用Session
Apr 16 NodeJs
nodejs实例解析(输出hello world)
Jan 03 NodeJs
NodeJS使用七牛云存储上传文件的方法
Jul 24 NodeJs
nodejs创建简易web服务器与文件读写的实例
Sep 07 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
NodeJS爬虫实例之糗事百科
Dec 14 NodeJs
nodeJS微信分享
Dec 20 NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 NodeJs
详解redis在nodejs中的应用
May 02 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 NodeJs
分享五个Node.js开发的优秀实践 
Apr 07 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实现的随机广告显示代码
2007/06/14 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
Python 普通最小二乘法(OLS)进行多项式拟合的方法
2018/12/29 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
Python基于pyjnius库实现访问java类
2020/07/31 Python
html5唤起app的方法
2017/11/30 HTML / CSS
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
门卫班长岗位职责
2013/12/15 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
java解析XML详解
2021/07/09 Java/Android