1,CMWAP和CMNET只是中国移动人为划分的两个GPRS接入方式。前者是为手机WAP上网而设立的,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服务。它们在实现方式上并没有任何差别,但因为定位不同,所以和CMNET相比,CMWAP便有了部分限制,资费上也存在差别。
2,为了从应用中区别两者的定位,中国移动对CMWAP作了一定的限制,主要表现在CMWAP接入时只能访问GPRS网络内的IP(10.*.*.*),而无法通过路由访问Internet。(少数地区的移动网络可能不存在这一限制)我们用CMWAP浏览Internet上的网页就是通过WAP网关协议或它提供的HTTP代理服务实现的。
3,可能这两者的适用范围才是大家最关心的问题,CMNET拥有完全的Internet访问权,这里就不多说了,主要让我们来看看CMWAP。因为有了上面提到的限制,CMWAP的适用范围就要看WAP网关所提供的支持了。目前,中国移动的WAP网关对外只提供HTTP代理协议(80和8080端口)和WAP网关协议(9201端口)。(据有的网友提到1080端口也是开放的,但无法连接。这也许是移动内部使用的一个Socks后门吧)。
因此,只有满足以下两个条件的应用才能在中国移动的CMWAP接入方式下正常工作:
1.应用程序的网络请求基于HTTP协议。
2.应用程序支持HTTP代理协议或WAP网关协议。
但是如何辨别一个应用程序的网络请求是否基于HTTP协议?这个问题还真不好回答,要完全做到这一点需要通过拦截应用程序的通信数据包进行分析。这里提供几个简单的方法给广大菜鸟级机友:从表现上看,如果它的网络请求是网址(URL)的形式,那么通常是基于HTTP协议的,如Web浏览器;如果它连接的服务器端口是80,那么它可能是基于HTTP协议的。
如何区别一个应用程序支持HTTP代理协议还是WAP网关协议呢?首先看它的设置中有没有代理服务器的选项(通常在S60智能手机上未特别说明的代理都是特指HTTP代理),如果有则表示它支持HTTP代理协议。如果没有,则需要按照以下步骤测试:
在GPRS接入点设置的高级设置里去掉代理服务器的设置项:ServerAddress和ServerPort(如果应用程序可以正常工作,那么它是基于WAP网关协议,如Java程序、S60内置的浏览器)。如果在此状态下不能正常工作,而恢复GPRS接入点高级设置中的代理服务器设置后能够正常工作,则应用程序支持HTTP代理协议。如果仍不能正常工作,那么这个应用程序一般来说是不支持HTTP代理协议或WAP网关协议的。
这里需要特别说明的是Java QQ,它有Socket和HTTP两种版本。现在网上流传的可用于CMWAP的JavaQQ就是基于HTTP协议的。就拿Java QQ 2004来说,启动画面中就明确的写着“KJavaQQHTTP”,而sis版的QQ和Agile Messenger因为是采用的普通的Socket连接方式,因此无法用于CMWAP。
下面再来总结一下CMWAP下可以使用的常见软件的工作方式:
(1)手机内置的浏览器:WAP网关协议
(2)Opera浏览器:HTTP代理协议(有代理设置)
(3)Java程序:WAP网关协议
(4)AvantGo:HTTP代理协议(有代理设置)
参考资料:http://hi.baidu.com/feiyoyo/blog/item/e6e70bd8d797653432fa1cfc.html