本帖最后由 tyw 于 2013-8-26 16:54 编辑
长时间没数据,会被T出GPRS网络的。心跳包就是联系网络,使设备一直在线。
因为GPRS本身是在GSM网络的基础上升级.移动仍然以语音优先于数据.当GPRS长时间在线,但不传输数据时,数据业务优先级别会被自动降低.经常会出现掉线和假拨号现象.所以设置"心跳"功能.以客户自己设置的时间间隔定时发送数据包,使自己的优先级别不被降低,保持长时间在线. 而GPRS是一个按流量收费的网络,过多的心跳数据会造成没有必要的浪费.所以f2100设置了"心跳间隔"功能,客户可以自己设置时间间隔,都要大于30秒.
具体的通信流程:监测现场设备端的f2100数传终端每一次上电后都自动连上INTERNET,并且主动向数据中心机发起一条TCP连接,连接成功后将会把自身的ID号(2个字节,可以在GPRS 数传终端上进行设置)向中心主机进行发送,所以中心主机在接受(Accept())了一条Tcp连接后,可以根据接收到的前两个字节的ID号判断这条连接来自于哪台现场监测设备。之后的通信对于现场监测设备来说都是透明的通信。对于中心机来说则是一条需要首先侦听一个端口,然后接受远端现场监测设备发来的TCP连接,并根据收到的前两个字节判断机器的ID号,之后如果要和远端的机器进行通信则只要在相应的TCP连接上收发数据即可。
|