WEB开发网
开发学院手机开发Symbian 开发 Symbian (Http DownLoad) Http 引擎下载实现 阅读

Symbian (Http DownLoad) Http 引擎下载实现

 2010-02-08 03:06:00 来源:WEB开发网   
核心提示:Symbian(Http DownLoad)Http引擎下载前面二篇blog介绍了关于接入点的相关情况今天让我们来看看下载是如何处理的其实在SYMBIAN平台实现下载方式较多比如直接用系统提供的HTTP引擎比如有SOCKET模拟HTTP来实现今天我们主要谈谈用平台的HTTP引警是如何实现的也会在接下来的通信编程中聊聊s

Symbian(Http DownLoad)Http引擎下载

前面二篇blog介绍了关于接入点的相关情况

今天让我们来看看下载是如何处理的

其实在SYMBIAN平台实现下载方式较多

比如直接用系统提供的HTTP引擎

比如有SOCKET模拟HTTP来实现

今天我们主要谈谈用平台的HTTP引警是如何实现的

也会在接下来的通信编程中聊聊socket模拟HTTP下载.

其实WIKI上给我们提供了一个关于HTTP下载的很好的例子.

并且网上也有很多关于这方面的资料.

我将主要谈谈比较关键的地方希望对后来的学习的朋友有一些帮助.

其实要完成整个HTTP下载官方提供的例子是不够的.

官方的例子只能让我们了解API的使用流程.

我们还需要处理各种异常,比如超时,比如跳转等等.

我们还要站在用户的角度去处理比如走WAP代理,比如断点续传等等.

好让我们少费话了直接进入主题吧!!嘎嘎!!!

首先介绍以下三个主要类:

//处理HTTP事物中的相关事件

//比如响应消息头,消息体,各种异常处理等

MHTTPTransactionCallback

//HTTP会话,建立客户端于内核的会话

RHTTPSession

//在会话的基础上建立下载事物

//一个http session可以有多个Transaction

//要实现多个事物同时进行必须要建立多个http session

RHTTPTransaction

经过上述基本介绍后,让我们看看具体的实现吧!!

//GET 请求

void CWebClientEngine::HTTPGetL(const TDesC8& aUri)

{

iDownloadSize = 0;

bHttpGetOrPost = ETrue;

//自己设置计时器,为超时作准备

StartTimer(30);

//为了二次连接,在WAP代理时首次连接会有移动拦截页回来

//这样可以直接把当前连接再请求一次,即可以解决问题.

iSecondUrl.Copy(aUri);

TUriParser8 uri;

uri.Parse(aUri);

#ifndef _DEBUG//不在DEBUG的情况下

if (bIAPIsWap)//如果是WAP接入点,需要设置WAP代理

{

//中国特色,不要报怨.

//改变不了社会,就加代码.嘎嘎!!

TBuf8<20> aProxy8(_L8("10.0.0.172:80"));

1 2 3 4 5  下一页

Tags:Symbian Http DownLoad

编辑录入:coldstar [复制链接] [打 印]
赞助商链接