基站、天线、模块都有可能出问题掉线,很正常,掉线重连即可。 TCP依靠超时判断连接断开,有可能超时时间达到2小时,所以要2小时后才断开,以避免存储转发延时过长导致的上一次TCP包和本次TCP序号重叠引起TCP数据出错。 好的应用程序要随时监测TCP链路是否停止传输,比如发心跳包,监测数据流量,当判断TCP断链后,执行close然后再connect即可。你的重连达30分钟明显是TCP协议栈有问题,应该在几百毫秒就可以重新连接上。 比如:我们用GPRS/CDMA传输图像数据,车子高速行驶中经常掉线,我们采用一种激进策略,0.1秒内无数据立即强制断线重连,很好地解决了图像传输中断过长问题。 无线TCP协议栈必须重新设计,因为标准的协议栈假设基于铜线网络,当然效果很差喽!《ecos增值包》里有详细说明。
更多内容,详见: 《培训系列“丛书”》 www.armecos.com ----------------------------------- More details, see: 《"Series Books" of Training》 www.armecos.com
|