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学习笔记之测试驱动
Apr 16 NodeJs
nodejs实现获取某宝商品分类
May 28 NodeJs
NodeJs读取JSON文件格式化时的注意事项
Sep 25 NodeJs
详解Nodejs基于mongoose模块的增删改查的操作
Dec 21 NodeJs
nodejs连接mysql数据库简单封装示例-mysql模块
Apr 10 NodeJs
nodejs个人博客开发第四步 数据模型
Apr 12 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
nodejs动态创建二维码的方法
Aug 12 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
nodejs实现爬取网站图片功能
Dec 14 NodeJs
Nodejs实现爬虫抓取数据实例解析
Jul 05 NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 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
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
php getsiteurl()函数
2009/09/05 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
js 学习笔记(三)
2009/12/29 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
一个简单的JS鼠标悬停特效具体方法
2013/06/17 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
javascript闭包概念简单解析(推荐)
2016/06/03 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
Python中 Lambda表达式全面解析
2016/11/28 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
pytorch打印网络结构的实例
2019/08/19 Python
python小项目之五子棋游戏
2019/12/26 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
中学运动会广播稿
2014/01/19 职场文书
国际贸易专业求职信
2014/06/04 职场文书
文明寝室标语
2014/06/13 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
师德师风整改措施
2014/10/24 职场文书
2014年统计工作总结
2014/11/21 职场文书
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis
MySQL聚簇索引和非聚簇索引的区别详情
2022/06/14 MySQL