不提示选择GPRS接入点,自动完成Internet连接的解决办法

      最近一段时间一直在做三版Symbian上的http访问小程序实验,主要为了熟悉symbian的开发,同时想得到这样几个目的:1)实现真机通过CMWAP方式访问web;2)在手机访问web时,尽可能多的获取到手机相关的信息。对于初学者来说,有点无从下手。相信跟我一样的初学者在这个时候都会遇到这样几个问题:
      1、开发环境的熟悉,签名文件的制作;

      2、在模拟器上比较容易实现的网络连接,在真机上失败;
      3、如何控制自动的选择网络接入点,而免去用户的选择;

      4、在web端获取尽可能多的信息。

      对于第一点,在前面的一篇文章中有所介绍,这里就先不提了。下面讲讲其他几点的完成过程,在这个过程中,我也是一边学习一边实验完成的。

      通过大量的查阅资料,了解到,应用程序要在手机上实现网络连接需要具备几个条件:

      1)mmp文件中的CAPABILITY描述,应加上NetworkServices选项,该能力是基本能力,不受签名级别的限制;

      2)通过CMWAP或者CMNET方式接入网络。

      一般来说,手机上有CMWAP和CMNET两种接入点,如果采用CMNET方式接入,可以简单的理解为PC上网,是能获取到一个C类地址的,那么就是说可以直接与Internet连接,但此种方式费用奇贵,一般不使用;如果通过CMWAP方式接入,就相当于局域网内的一台PC,要与Internet连接,就必须通过“网关”进行路由,而自身是没有外网地址的。这个“网关”就是中国移动的wap以及彩信代理服务器10.0.0.172,而这个“网关”只开放了80和9201端口(后者是起初的CSD方式接入的端口,现在很少用了)。这种方式接入,收取的费用现在基本上已经降到1分钱1K,包流量的话5元30M每月。

      可见,如果不是钱多烧得慌,都会使用CMWAP来接入。这就要求应用程序能用代理方式连入Internet。

      那么,第二点的问题的解决办法就是,在mmp文件中加入网络访问能力的描述,实现CMWAP代理访问。代理方式访问,解决代码如下:

 

 

这是在HttpClientExample例子的基础上修改的,实际上就是加上了aProxy,并在iSession.ConnectionInfo()中设置代理相关的属性即可。

      第三点,例子中原来的做法是跟其他程序一样,调用API弹出一个接入点选择框,让用户选择之后,获取到选择的iapID,再使用这个iapID进行连接。如果能够在程序中自动的完成类似的操作,就可隐藏掉选择接入点的过程。以下是该函数:

 

      在SetConnectionL函数中加入:

      记得把弹出选择框的代码注释掉。这样就实现了自动通过cmwap代理连接到Internet。

 

      第四点,目前还在研究中,有了新的进展我会更新本篇博客的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值