来讲讲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方式,则无需修改电脑网络参数,直接插上网线就可以,非常方便。