串口服务器分为RS232/RS485/RS422串口电平,通常选择485单串口服务器的较多。如果是特殊工作需求,需要RS232/RS485/RS422三个串口相互切换。这类串口服务器的常见工作模式有TCP Server、TCP Client、UDP Client、UDP Server、HTTPD Client。
1.TCP Client模式
1) TCP Client 为 TCP 网络服务提供客户端连接。主动向服务器发起连接请求并建立连接,用于实现串口数据和服务器数据的交互。根据TCP协议的相关规定,TCP Client是有连接和断开的区别,从而保证数据的可靠交换。通常用于设备与服务器之间的数据交互,是最常用的联网通信方式。
2) 本模式具备主动识别连接异常的功能,当连接建立后,会有以大约15s的间隔发送的KeepAlive保活探查包,如果连接有异常中断等情况,则会被立即检测到,并促使306断开原先的连接并重连。
3) 306在TCP Client模式下尝试连接服务器并且本地端口为0时,每次都以随机的端口发起连接。
4) 本模式支持天游8线路检测中心自主的同步波特率功能、透传云功能,另外还支持短连接功能。
5) 在同一局域网下,如果306设为静态IP,请保持306的IP和网关在同一网段,并且正确设置网关IP,否则将不能正常通信。
6) 注:KeepAlive功能、同步波特率功能、透传云功能。
2. TCP Server模式
1) TCP Server即TCP服务器。在TCP Server模式下,306监听本机端口,有连接请求发来时接受并建立连接进行数据通信,当306串口收到数据后会同时将数据发送给所有与306建立连接的客户端设备,同样TCP Server模式也有KeepAlive功能用于实时监测连接的完整。
2) 通常用于局域网内与TCP客户端的通信。适合于局域网内没有服务器并且有多台电脑或是手机向服务器请求数据的场景。同TCP Client一样有连接和断开的区别,以保证数据的可靠交换。
3) 本模式支持天游8线路检测中心自主的同步波特率功能(RFC2217)功能。
4) 306做TCP Server的情况下,最多可以接受16个Client连接(连接数可自定义),本地端口号为固定值,不可设置为0。
3. UDP Client模式
1) 本工作模式从属于UDP协议。
2) UDP Client一种无连接的传输协议,提供面向事务的简单不可靠信息传送服务,没有连接的建立和断开,只需要制定IP和端口即可将数据发向对方。通常用于对丢包率没有要求,数据包小且发送频率较快,并且数据要传向指定的IP的数据传输场景。
3) UDP Client模式下,306只会与目标IP 的目标端口通讯,如果数据不是来自这个通道,则数据不会被306接收。
4) 在本模式下,目标地址设置为255.255.255.255,则可以达到UDP全网段广播的效果;同时也可以接收广播数据;4015及以后的固件支持网段内的广播,比如xxx.xxx.xxx.255的广播方式。
4. UDP Server模式
1) UDP Server 是指在普通UDP的基础上不验证来源IP地址,每收到一个UDP数据包后,都将目标IP改为数据来源IP和端口号,发送数据时,发给最近通讯的那个IP和端口号。
2) 该模式通常用于多个网络设备都需要跟模块通信并且由于速度频率较快不想使用TCP的数据传输场景。
5. Httpd Client
在此模式下,用户的终端设备,可以通过306发送请求数据到指定的HTTP服务器,然后306接收来自HTTP服务器的数据,对数据进行解析并将结果发至串口设备。
用户不需要关注串口数据与网络数据包之间的数据转换过程,只需通过简单的参数设置,即可实现串口设备向HTTP服务器的数据请求。
Httpd Client模式具体工作示意图和设置示例图如下: