位置: 编程技术 - 正文

Node.js dgram模块实现UDP通信示例代码(node.js中模块的文件格式有哪些)

编辑:rootadmin

推荐整理分享Node.js dgram模块实现UDP通信示例代码(node.js中模块的文件格式有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js module,node.js模板,node.js的模块,node.js module,node.js module,node.js module,node.js中模块的文件格式有哪些,node.js module,内容如对您有帮助,希望把文章链接给更多的朋友!

1、什么是UDP&#;

这里简单介绍下,UDP,即用户数据报协议,一种面向无连接的传输层协议,提供不可靠的消息传送服务。UDP协议使用端口号为不同的应用保留其各自的数据传输通道,这一点非常重要。与TCP相比,占用资源更少,传输速度更快。

2、了解UDP单播、广播和组播

单播:向一个单播地址发送UDP数据报时,数据报只能被指定的IP主机接收,同一子网下的其它主机都不会接收该数据报。单播过程(假设子网地址:..,该子网下有两台主机:...2,...3,向...2发送数据报)

1.向主机...2的端口发送数据报,该IP数据报目标IP在以太网中被ARP解析成MAC地址,然后将此MAC地址设置为目标地址发出去。

2.该子网下的主机以太网接口看到该数据帧时,对比自己的MAC地址,如果不一样,则忽略该数据帧。

3.直到...2主机看到该数据帧时,发现MAC一致,则读入该数据帧,然后在IP层对比目标IP和本机IP,在UDP层对比端口号是否一致,最后接收该数据帧。

广播:向一个广播地址发送UDP数据报,该广播网络下的所有主机都会受到影响,主机根据端口号来判断是否丢弃该数据。广播过程(假设子网地址:..,则该网络的广播地址为:...,该子网下有两台主机:...2,...3,向...发送数据报):

1.向...主机端口为发送数据报,,该IP数据报目标IP在以太网中被ARP解析成MAC地址,然后将此MAC地址设置为目标地址发出去。

2....2和...3的主机接口都会和此广播地址匹配成功,直到该数据报进入传输层时根据端口是否匹配判断是否丢弃该数据,端口为的会保留该数据,否则将数据丢弃。

组播:向一个组播地址发送UDP数据报,该组网络下的所有主机都会受到影响,主机根据端口号来判断是否丢弃该数据。组播过程原理与广播类似。

3、dgram模块API介绍

该模块用来创建UDP数据报socket,继承了EventEmitter,该模块的API如下所示:

3、UDP单播实现

单播的原理上面已经说了,这里便不再叙述。

服务端:

Node.js dgram模块实现UDP通信示例代码(node.js中模块的文件格式有哪些)

客户端:

3、UDP广播实现

要实现UDP广播,就必须知道广播地址,广播地址如何计算呢?可以利用ipconfig(windows)或ifconfig(*unix)得到ip地址和mask掩码地址,然后利用ip地址与mask子网掩码做与操作得到网络地址,网络地址中主机位都为1就是广播地址,举个例子:

IP:...mask:...IP&MASK得到网络地址:...0/网络号就是主机位全为0,即... 即...0广播地址就是主机位全为1,即...即...

接着实现UDP广播,我机子的IP为1.1.1.,掩码为...0,因此广播地址为1.1.1.,服务端向广播地址的端口发送数据报,客户端绑定本机的端口,如下所示:

服务端:

客户端:

3、UDP组播实现

组播地址是实现UDP组播的关键,因此了解组播地址是重点。什么是组播地址?IANA将D类地址(.0.0.0-...)分配给IP组播,用来标识一个IP组播组,由IGMP(组管理协议)协议维护组成员关系,其中:

.0.0.0~.0.0.为永久组地址,地址.0.0.0保留不做分配,其它地址供路由协议使用;

.0.1.0~.0.1.是公用组播地址,可以用于Internet;

.0.2.0~...为用户可用的组播地址(临时组地址),全网范围内有效;

.0.0.0~...为本地管理组播地址,仅在特定的本地范围内有效。

向组播地址发送数据报,只有该组成员才会接收此数据报。

dgram模块的addMembership()方法将socket加入组播组中,dropMembership()方法退出组播组。下面以组播地址...来实现UDP组播,如下所示:

服务端:

客户端:

另外UDP内网穿透相关的内容,大家也可自行了解一下。希望对大家的学习有所帮助,也希望大家多多支持积木网。

详解Node.js利用node-git-server快速搭建git服务器 本文用到了node-git-server1、检测本地git版本该包的使用需要机器上本来就安装git,且git的版本大于等于2.7:?─root@lt/home/workspace?─#git--versiongitversion2.7.

详解node+express+ejs+bootstrap构建项目 node+express+ejs+bootstrap是前端常用的项目结构,分享给大家,具体如下:您可以通过node-express_gimoo.rar来克隆我创建好的项目结构,也可以通过下面的方式

import与export在node.js中的使用详解 简述import与export是es6中模块化的导入与导出,node.js现阶段不支持,需要通过babel进行编译,使其变成node.js的模块化代码。(关于node.js模块,可参考其他

标签: node.js中模块的文件格式有哪些

本文链接地址:https://www.jiuchutong.com/biancheng/379531.html 转载请保留说明!

上一篇:Nodejs实现文件上传的示例代码(nodejs 写文件)

下一篇:详解Node.js利用node-git-server快速搭建git服务器(nodejsorg)

  • 弃置费用的财务费用可以税前扣除吗
  • 企业对企业分红要缴纳什么税免税分红
  • 幼儿园固定资产登记表
  • 负数增长到正数的例子
  • 小企业销售商品因批量原因给予客户的商业折扣
  • 暂存款属于什么费用
  • 旧的固定资产销售怎么算税
  • 普通发票做账有什么用
  • 来料加工账务处理办法
  • 资产资本化的借款费用如何写分录?
  • 收到技术咨询费摘要
  • 企业理财产品收益要交企业所得税吗
  • 公司委托其他公司为员工代缴社保公积金
  • 旅行社开的旅游费发票可以税前扣除
  • 专票和普票的税率哪个高
  • 纳税人登记为一般纳税人后一律不得转为小规模纳税
  • 企业购销业务流程包括哪些
  • 已抵扣发票如何查询开票明细
  • 残疾人保障金什么时候发放
  • 平销返利税率
  • 企业发生的白条是什么
  • 全免增值税企业所得税吗
  • 采购材料的运费怎么做分录
  • 剑灵怎么双开2023
  • 如何网签三方协议合同
  • u盘写入扇区错误
  • 上月有留底税额,这个月有销销没有进项怎么做账
  • Windows11更新后无法联网
  • php常用的技术栈
  • 公司客户招待费用标准
  • ipcservice.dll是什么?
  • ros call
  • linux查看ssh服务开启
  • php制作简单的表单代码
  • php缓存技术和静态化
  • 企业所得税申报表A类
  • java web 购物车
  • 企业所得税申报表资产总额怎么填
  • 增值税普通发票查询真伪
  • 固定资产多少钱以上计入固定资产
  • python中的生成器
  • 出租营改增之前取得的有形动产
  • 使用增值税发票违法吗
  • 印花税免税项目有哪些
  • 公司法人的分类是什么
  • 税盘开票机号怎么看
  • sqlserver2012开发版
  • 给离退休人员发放以前年度在岗奖金需要计提工会经费吗
  • 个体工商户开具房屋租赁发票
  • 企业研发费用率怎么算
  • 公司购车按揭利率是多少
  • 物业公司收物业费不开发票违法吗
  • 营改增后的增值税税目税率表
  • 小规模购入固定资产怎么做账
  • 出租人融资租赁的判断标准
  • sqlserver表类型
  • Win2008 R2 mysql 5.5 zip格式mysql 安装与配置
  • windows没有无线网络
  • windows任务管理
  • 关闭windowsxp窗口的方法有
  • windows的安装
  • win10升级后无法进入系统一直重启
  • 在win8下能直接装win7吗
  • mac上safari
  • win10专业版系统多少g
  • windows 10微软
  • [置顶]电影名字《收件人不详》
  • ES6 javascript的异步操作实例详解
  • jquery22插件网
  • linux运维是必死之路
  • 基于jPlayer三分屏的制作方法
  • node.js教程详细
  • 计算字符串的长度使用哪个函数?
  • 如何用node搭建服务器
  • Python内置的HTTP协议服务器SimpleHTTPServer使用指南
  • js倒计时算法
  • jquery新增属性
  • 代收国税地税收入
  • 三门峡哪个小区是原火葬场
  • 护士的专业素质要求
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设