首先 到 http://files.cnblogs.com/fox23/ASPNETMobileTemplates.zip 下载C#的模板的压缩包,解压后先读各个文件夹下面的Readme.txt(其实就是说需要把他们铐到??\My Documents\Visual Studio 2008\Templates\ItemTemplates下的两个文件夹下).有了这几个模板,在ASP.NET Web Site 和 ASP.NET Web Application的项目中再点击Add new Item即可看到相应的模板。 ......
手机WIFI上网是指通过无线网关上网,可在咖啡厅、图书馆等有无线网络的地方上网,可以用WIFI连接到笔记本的无线网卡,建网桥通过本本上网。它是直连互联网的,通过移动联通或电信的热点,速度和接入网关选择的带宽有关,一般是免费的!如果没有热点,可以购置一台无线路由器连接自家宽带当无线热点。
如果手机用WIFI上网就不能上WAP网站,提示只限手机用户登录,因为会检测到所用IP是电脑的,因此拒绝登录。
WAP是手机上网的时候网页的网址,就如同 WWW,GPRS是手机上网的一种方式,如同电信/网通,WIFI是无线上网的方式。
wap 和GPRS是 移动通信商的连接方式,速度比较慢。而wifi叫做无线热点,是用无线网卡,接入无线路由或者其他无线网络发射器的东西,wlan是无线局域网,用无线路由器和无线网卡组成。 ......
首先解释一下,中国移动提供CMNET和CMWAP两个APN,本质上,这两个APN其实本应没有区别,但是运营商从商业角度出发,从以下两方面来定位这二者:
1,采用不同的计费方式,不包月的情况下,CMNET有可能收费更高
2,网络接入的授权不同,CMNET能获得完全网络访问,就如PC直接上网一样,而CMWAP只能限制在WAP(基本上可以等同于HTTP,也就是只能访问web service)
那么接下来,看黑莓上这两个APN有什么区别呢,显然,连CMNET能干更多的事,比如:
1,长连接
2,对端口的socket连接
而CMWAP由于计费便宜,因此用户可能的话,往往倾向于用这个APN。不少应用为了达到更好的体验,也将自己的应用首选或者甚至绑定CMWAP方式。
最后,来罗列一下中国移动的WAP情况下,有哪些连接方式。
WAP 1.x(国内的开发者,特别是从J2ME转过来的开发者,往往倾向于此)
1, 长连接或者socket连接
建议用:
(SocketConnection)Connector.open("socket://testserver:600;deviceside=true;APN=cmnet");
如果在选项-高级-TCP/IP中填上了CMNET,用下面这种方式也能成功
(SocketConnection)Connector. ......
IIS--默认网站属性-->http 头-->MIME映射 -->文件类型 -->新类型
.wml text/vnd.wap.wml
如果你服务器上,只有.wml文件,则只添加上面这个就好。如果需要,可添加以下:
.wmlc application/vnd.wap.wmlc
.wmls text/vnd.wap.wmlscript
.wmlsc application/vnd.wap.wmlscriptc
.wbmp image/vnd.wap.wbmp
如果服务器是Apache,或其他配置,请参考:http://www.jb51.net/article/18119.htm ......
中国电信前不久刚发布了BlackBerry 9530(Storm),不同的是,这一款是烧号的,因此可以想象开发的时候还是会遇到一些不同的。
最近拿到了一个测试机,调试了一下,以下是我个人的心得。
1, C网和G网的差别。中国电信的CDMA,在WAP连接时没有GPRS上APN的概念。可是可能有人要说,那么电信的“CTNET”和“CTWAP”是怎么一回事呢。其实这涉及到CDMA的底层,CDMA是建立在PPP之上的,也就是手机拨号上网,那么可能经历过modem拨号年代的童鞋可能还记得拨号的时候需要一个号码,还需要用户名和密码。那好,这里的ctnet和ctwap其实就是这里的用户名。中国电信的服务端(一个叫做PDSN的东东)会对用户不同的用户名做配置,ctwap被授予的权限显然被限制在WAP,而CTNET则能获得完全的TCP/IP的权限。通过这一手段,达到了中国移动cmnet和cmwap类似的效果。为什么这么做呢,我觉得应该是商业模式吧,让移动转来的用户能更快适应。在国外,通常没有这么复杂。
2,那么9530上如何上网呢。如果你打开选项-高级-TCP/IP,那么你会发现APN是不可改的,也就是说你没法配置CTNET或者CTWAP之类的东东。那么可以猜想,RIM应该和中国电信有一种协议,9530会自动的通过某种帐 ......
TBool isWap = EFalse;
TBuf<128> iapServerType;
TUint32 iapServerId;
CCommsDatabase* commsDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
CleanupStack::PushL( commsDb );
CCommsDbTableView* iapView = commsDb->OpenViewMatchingUintLC( TPtrC( IAP ), TPtrC( COMMDB_ID ), iap );
User::LeaveIfError( iapView->GotoFirstRecord() ) ;
iapView->ReadTextL( TPtrC( IAP_SERVICE_TYPE ), iapServerType );
if( iapServerType == TPtrC( OUTGOING_GPRS ) )
{
iapView->ReadUintL( TPtrC( IAP_SERVICE ), iapServerId );
CCommsDbTableView* gprsView = commsDb->OpenViewOnProxyRecordLC( iapServerId, TPtrC( OUTGOING_GPRS ) );
if( KErrNone == gprsView->GotoFirstRecord( ) )
& ......