关于两个GPRS之间点对点通信的一些说明
从目前来看,大部分地区移动都对移动内网之间相互通信做了限制,当然这个限制也仅仅是针对普通的CMNET用户。移动现在大力推广他们的APN专网,专网内部通信当然是没有问题的。这个东西很容易理解,无非就是移动想办法多推广点业务。APN的费用还是挺高的,标准资费就是开一个APN需要9600/年,资费另外再计算。)对于这个,也没什么好说的,大家心里都清楚就行。
不过毕竟有些地方内网相互通信还是没有关闭的,不过毕竟趋势在这,谁也不知道过了今天,明天还行不行,风险比较大。如果你一定要采用这种CMNET的点对点,当然也没谁会阻止你。不过那你就要解决一个固定IP的问题,CMNET网内分配的GPRS IP都是动态的,只要重新启动就会改变。采用DNS的方式也有困难,很少有DNS支持移动内网(好象以前有88IP支持,后面好象也不行了)。那这个时候就需要我们用其他技术手段来解决这个问题了。一般采用的方式无非是自动短信通知、IP挂靠等等。不过很少有DTU厂家这么做过,这个毕竟是在自己协议程序内部来修改的,很多都是用协议模块或者采用协议芯片,是解决不了这些问题的。
上面提到的这些,说实话,我很不支持,虽然从技术手段上看,好象是很“先进”,但是实际通信效果并不好。下面我就推荐一种方式。
采用一种服务器中转的方式来做。建立一个数据交换中心,通信结点全部和这个数据交换中心建立连接,每个通信结点都有ID标识,在数据中心建立交互规则。这种方法不仅仅可以解决两个点之间的通信,同时也可以解决多点相互组网。
本人做过几个类似要求GPRS点相互传输数据的项目,其中一个特别影响深刻(是做电力配网的),前期他不认可我提的数据交换中心的方案,一定要我们在无线数传终端内(DTU)来解决这个问题,而且他们是要求多点对多点的相互通信。虽然复杂,不过由于的设备终端上是我们自己的协议,有一套我们自己的系统,所以也不算多麻烦的事情,做好以后,现场运行后才发现,由于GPRS网络本身的不稳定性,经常导致由于某一个通信结点一重起从而导致其他结点的重连接,而且有时候反复出现这些问题。整个系统的通信效率非常低。后来我给他们做了一个建立在数据交换中心的模拟系统上,他们同意采用我提出的这个方案,整个系统才稳定的推广开来。
如果有朋友对这个有兴趣,可以把你邮箱留下来,或者直接给我发邮件,wxf0204@gmail.com或者加我QQ:1055958560