最近工作是断网后重定向的工作机制的功能测试。在设备拿到gb号之后在平台链接,看在app上能不能拉到流,断网后看看能不能自己恢复or尝试重连接成功。gb号里面有一些mac地址和其他的信息,是符合国标标准的,设备只有在拿到国标号之后才能完成和app的连或者其他功能,相当于一张身份证。
在网络连接连接的测试里为了能看到离线时候的流,所以要连接串口,板子上的串口有三个脚,就是GND,RX和WX,对应接地、输出和输入,连接的时候在xshell里面选择一个新建一个串口的连接方式,然后板子插上可以正常输出非乱码的字符和可以读取键盘输入就算串口连接完成。
这里的断网测试分两种,一种是在PoE端断掉LAN口,还有一种在路由器端断掉WAN口,检查是不是能完成一些重定向和重新注册的功能。
这里涉及到两种协议,UDP和TCP。
在UDP的协议下,当断网的时候心跳机制会每隔30s发送一次报文,累计三次得不到服务器的回应就算要开始重定向(可以在一些json文件里面 自己定义心跳发送的时间间隔or累计次数)
里面的涉及到几种状态码,401 没有认证,302 重定向到服务器和200 OK,这也是重定向的要经历的三个步骤。
还有一种TCP协议的情况,和UDP同样有一些心跳机制,断开重连的方式也类似。
长连接是设备和与服务器通过三次握手建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信
短连接时是设备发送请求消息,服务器返回响应,一次连接就完成了。交易完毕后立即断开连接。此方式常用于一点对多点通讯。
短连接的操作步骤是:建立连接——数据传输——关闭连接…建立连接——数据传输——关闭连接