Java的Socket长连接掉线问题!
大家好,我们现在做了一个基于校园网(一般的大学,大概3-4万人,网络环境很复杂)的电表数据采集系统,下位机客户端采用嵌入式的C写的Socket客户端,上位数据采集中心采用的Java的多线程、ServerSocket,因为要支持即时点播查询,所以必须采用长连接Socket模式,并采用了应用层心跳包(2分钟一次),现在大概有30个客户端。但是客户端掉线现象明显:
1.我们采用了断线重连技术,掉线3-5分钟能够自动重连,但是总觉得不是解决问题的最好办法;
2.有的客户端很稳定,1-2天掉一次,有的客户端一天掉8-10次
请问大家的意见,Socket长连接这样的掉线频率是否正常?我以前接触过基于互联网的移动CMPP的长连接也没有这么频繁的掉线啊,难道校园网比互联网还不稳定(校园网的负载很大,很多学生使用)?
另外,大家有没有从技术上改进的方法,减小断线率。暂时不考虑客户端C程序的问题!
谢谢大家!