通过UDP实现参数配置

news/2024/5/18 14:26:16 标签: udp, 网络协议

        来讲讲UDP的一种常见应用

        我们知道UDP是一种无连接的网络传输协议,在发送数据时指定目标IP及端口就可以将数据发送出去,因此特别适合用作网络设备发现。

        我们可以自定义一个通信端口,假设为55555。我们再制定一个协议用于查询目标设备,并且规定好回码格式。

        如PC端发送F5 01 FF,其中F5为帧头,01为查询关键字,FF为帧尾,PC使用UDP广播发送,目标端口55555。

        由于是广播发送,所以设备端必然是可以从55555端口接收到指令,且能获取到PC端的发送地址和端口信息。设备端往PC端的发送IP和端口回码F5 01  FF。

      PC端收到回码,获取到设备端的IP和端口(55555) ,完成设备发现功能。

      接下来就是正常的参数配置功能了,根据自定义的参数配置协议去配置参数就可以了。比如沿用网络发现指令格式F5    cmd    data    FF,通过调整cmd关键字和data的内容即可。

        这种实现方式有个好处,就是可以不用管当前的设备IP,常规的TCP通信的话,你必须得知道目标IP,先建立连接,然后才可以通信。如果你的电脑和设备不在一个网段,还得修改电脑网络参数。如果使用上述的UDP方式,则无需修改电脑网络参数,直接插上网线就可以,非常方便。


http://www.niftyadmin.cn/n/5464795.html

相关文章

ubuntu 20.04 SD 卡分区类型 msdos 改为 GPT 的方法

前言 默认 SD 卡分区是 FAT32 格式,为了用于嵌入式Linux ext4 文件系统,需要改为 ext4 文件系统,但是SD 卡分区类型默认是 msdos 类型,也就是 MBR 类型,不是 GPT 类型。 烧写 ext4 分区表,或者使用 ubuntu…

如何在 xcode 中使用 string catalogs

在iOS开发中,xcstrings和strings文件在本质上是相似的,但在Xcode 15中引入的Strings Catalogs中有一些重要区别。 xcstrings文件是Strings Catalogs的一部分,它们可以作为单个源文件包含应用程序的所有本地化字符串内容,包括常规…

【工具-MATLAB】

MATLAB ■ MATLAB-简介■ MATLAB-应用领域■ MATLAB■ MATLAB■ MATLAB■ MATLAB ■ MATLAB-简介 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室) 美国MathWorks公司出品的商业数学软件, MATLAB和Mathematica、Maple并…

FIFO控制器设计——日常学习

1 FIFO相关概念 FIFO是First in first out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线。这样使用起来就非常简单,但缺点是只能顺序写入数据,顺序读出数据,其数据地址由内部读写指针…

vue使用elementui组件的的对话框;使用ref

1.第一步&#xff0c;先在父组件中引用&#xff0c;设置ref的值 <el-dialog :visible.sync"dialogEditVisible"append-to-body width"1000px" title"编辑":close-on-click-modal"false"><dialog-edit v-if"dialogEditV…

GPT带我学-设计模式11-组合模式

设计模式类型 结构型设计模式 使用场景 将对象组合成树状结构来表现"部分-整体"的层次结构。这种模式能够使得客户端对单个对象和组合对象的使用具有一致性。这句话太抽象了&#xff0c;拿一个实际的网站菜单树例子来说。 例子&#xff1a;网页菜单树 一个网站的…

LuaJIT源码分析(二)数据类型

LuaJIT源码分析&#xff08;二&#xff09;数据类型 LuaJIT支持的lua数据类型和官方的lua 5.1版本保持一致&#xff0c;它的源文件中也有一个lua.h&#xff1a; // lua.h /* ** basic types */ #define LUA_TNONE (-1)#define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define L…

LeetCode-240. 搜索二维矩阵 II【数组 二分查找 分治 矩阵】

LeetCode-240. 搜索二维矩阵 II【数组 二分查找 分治 矩阵】 题目描述&#xff1a;解题思路一&#xff1a;从左下角或者右上角元素出发&#xff0c;来寻找target。解题思路二&#xff1a;右上角元素&#xff0c;代码解题思路三&#xff1a;暴力也能过解题思路四&#xff1a;二分…