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打包工具整合到鼠标右键的方法
May 11 NodeJs
nodejs获取本机内网和外网ip地址的实现代码
Jun 01 NodeJs
NodeJS学习笔记之Connect中间件应用实例
Jan 27 NodeJs
使用nodejs开发cli项目实例
Jun 03 NodeJs
你一定会收藏的Nodejs代码片段
Feb 04 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
windows 下安装nodejs 环境变量设置
Feb 02 NodeJs
详谈Angular路由与Nodejs路由的区别
Mar 05 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
用nodejs实现json和jsonp服务的方法
Aug 25 NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
Mar 02 NodeJs
详解NodeJS模块化
Jun 15 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为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
详解Vue如何支持JSX语法
2017/11/10 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
用实例分析Python中method的参数传递过程
2015/04/02 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
使用Python在Windows下获取USB PID&VID的方法
2019/07/02 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
python函数不定长参数使用方法解析
2019/12/14 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
简历中个人求职的自我评价模板
2013/11/29 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
小学生作文评语集锦
2014/12/25 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
统计员岗位职责范本
2015/04/14 职场文书
新课程改革心得体会
2016/01/22 职场文书
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android