CMWAP和CMNET 的主要区别与适用范围,与判断

判断网络public static void checkNetwork() {
		ConnectivityManager cm = (ConnectivityManager) Constants.context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo netinfo = cm.getActiveNetworkInfo();
		if (netinfo != null) {
			Constants.connected = true;
			//Log.w("netType", netinfo.getType() + "-" + netinfo.getTypeName());
		} else {
			//Log.w("netType", "no net");
			Constants.connected = false;
			return;
		}
		String netExtra = netinfo.getExtraInfo();
		if (netExtra != null && netExtra.toLowerCase().indexOf("wap") > -1) {
			String proxy = Proxy.getHost(Constants.context);
			int proxyPort = Proxy.getPort(Constants.context);
			Constants.proxyUsed = true;
			Constants.proxy = proxy;
			Constants.proxyPort = proxyPort;
		} else {
			Constants.proxyUsed = false;
		}

		String net = new String();
		switch (netinfo.getSubtype()) {
		case TelephonyManager.NETWORK_TYPE_1xRTT:
			net = "CDMA - 2000";

			break;
		case TelephonyManager.NETWORK_TYPE_CDMA:
			net = "CDMA";
			break;
		case TelephonyManager.NETWORK_TYPE_EDGE:

			net = "GSM - EDGE:" + netinfo.getExtraInfo();

			break;
		case TelephonyManager.NETWORK_TYPE_EVDO_0:
			net = "CDMA - EVDO A";
			break;
		case TelephonyManager.NETWORK_TYPE_EVDO_A:
			net = "CDMA - EVDO A";
			break;
		case TelephonyManager.NETWORK_TYPE_GPRS:
			net = "GSM - GPRS";
			break;
		case TelephonyManager.NETWORK_TYPE_UMTS:
			net = "UMTS";
			break;
		case 8:
			net = "UMTS - HSDPA ";
			break;
		case 9:
			net = "UMTS - HSUPA ";
			break;
		case 10:
			net = "UMTS - HSPA ";
			break;
		case TelephonyManager.NETWORK_TYPE_UNKNOWN:
		default:
			net = "Unknown";
		}

		//Log.w("netType", net);
	}

文/onel

  随着移动优惠促销活动的开展,很多网友都对20元包月的CMWAP无线上网产生了很大的兴趣,但是一些朋友在对CMWAP和CMNET的区别还是不甚了解,导致了很多朋友在毫无知觉的情况下被扣了一大笔流量费,可真是心疼啊!

  对于一些新软件,也经常有人会问“CMWAP可以用吗?”,那么我们今天就来谈谈CMWAP 和 CMNET 的主要区别与适用范围。

  (1) 为什么会有两个接入点?

  在国际上,通常只有一种GPRS接入方式,为什么在中国会有CMWAP和CMNET两兄弟呢?(彩信之所以单独配置接入点是因为彩信服务需要连接专用的服务器,在这里不作探讨。)

  其实,CMWAP 和 CMNET 只是移动人为划分的两个GPRS接入方式。前者是为手机WAP上网而设立的,后者则主要是为PC、

笔记本电脑、PDA等利用GPRS上网服务。它们在实现方式上并没有任何差别,但因为定位不同,所以和CMNET相比,CMWAP便有了部分限制,资费上也存在差别。

  (2) 什么是WAP?

  WAP只是一种GPRS应用模式,它与GRPS的接入方式是无关的。WAP应用采用的实现方式是“终端+WAP网关+WAP服务器”的模式,不同于一般Internet的“终端+服务器”的工作模式。主要的目的是通过WAP网关完成WAP-WEB的协议转换以达到节省网络流量和兼容现有WEB应用的目的。

  WAP网关从技术的角度讲,只是一个提供代理服务的主机,它不一定由网络运营商提供。但据我所知,移动GPRS网络目前只有唯一的一个WAP网关:10.0.0.172,有移动提供,用于WAP浏览(HTTP)服务。有一点需要注意,WAP网关和一般意义上的局域网网关是有差别的,标准的WAP网关仅仅实现了HTTP代理的功能,并未完成路由、NAT等局域网网关的功能。这就决定了它在应用上所受到的限制。

  (3) 移动对CMWAP的限制

  为了从应用中区别两者的定位,移动对CMWAP作了一定的限制,主要表现在CMWAP接入时只能访问GPRS网络内的IP(10.*.*.*),而无法通过路由访问Internet。(少数地区的移动网络可能不存在这一限制。)我们用CMWAP浏览Internet上的网页就是通过WAP网关协议或它提供的HTTP代理服务实现的。

  说到这里,就让我自然而然的联想到公司的网络,相信不少工作的朋友都有类似的体会。公司的网络在网关上不提供路由和NAT,仅仅提供一个可以访问外网的HTTP代理。这样,我们就无法直接使用QQ、MSN等非HTTP协议的应用软件了(好在它们还提供的有HTTP代理的连接方式)。CMWAP也正是如此。

  (4) 适用范围

  适用范围才是大家最关心的问题。CMNET拥有完全的Internet访问权,这里就不多说了,主要让我们来看看CMWAP。因为有了上面提到的限制,CMWAP的适用范围就要看WAP网关所提供的支持了。目前,移动的WAP网关对外只提供HTTP代理协议(80和8080端口)和WAP网关协议(9201端口)。

  因此,只有满足以下两个条件的应用才能在移动的CMWAP接入方式下正常工作:

  1. 应用程序的网络请求基于HTTP协议。

  2. 应用程序支持HTTP代理协议或WAP网关协议。

  如何辨别一个应用程序的网络请求是否基于HTTP协议?

  这个问题还真不好回答,要完全做到这一点需要通过拦截应用程序的通信数据包进行分析。这里提供几个简单的方法给广大菜鸟朋友:从表现上看,如果它的网络请求是网址(URL)的形式,那么通常是基于HTTP协议的,如Web浏览器;如果它连接的服务器端口是80,那么它可能是基于HTTP协议的。如果确实无法准确判断,那么请直接看下一个条件。(满足第二个条件的应用一定是基于HTTP协议的)

  如何区别一个应用程序支持HTTP代理协议还是WAP网关协议呢?

  首先看它的设置中有没有

代理服务器的选项(通常在S60上未特别说明的代理都是特指HTTP代理),如果有则表示它支持HTTP代理协议。如果没有,则需要按照以下步骤测试:

  在GPRS接入点设置的高级设置里去掉代理服务器的设置项:Server Address 和 Server Port,如果应用程序可以正常工作,那么它是基于WAP网关协议,如Java程序、S60内置的浏览器。如果在此状态下不能正常工作,而恢复GPRS接入点高级设置中的代理服务器设置后能够正常工作,则应用程序支持HTTP代理协议(代理设置从系统中读取)。如果仍不能正常工作,那么这个应用程序一般来说是不支持HTTP代理协议或WAP网关协议的。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值