WEB开发网
开发学院手机开发Symbian 开发 Symbian(RSocket DownLoad)模拟HTTP下载 阅读

Symbian(RSocket DownLoad)模拟HTTP下载

 2010-10-20 07:59:57 来源:WEB开发网   
核心提示:Symbian(RSocket DownLoad)模拟HTTP下载前面我们介绍了用平台的HTTP引擎来实现下载.今天我们来看看如何用RSocket来实现下载.接入点的部分我们已经在前面介绍完了.相关部分的处理和实现我们不在提及.好让我们来看看如何实现的!!嘎嘎!!首先让我们来看看如何组装请求头//Get Http Re

Symbian(RSocket DownLoad)模拟HTTP下载

前面我们介绍了用平台的HTTP引擎来实现下载.

今天我们来看看如何用RSocket来实现下载.

接入点的部分我们已经在前面介绍完了.

相关部分的处理和实现我们不在提及.

好让我们来看看如何实现的!!嘎嘎!!

首先让我们来看看如何组装请求头

//Get Http Request

void CWebClientEngine::StartGetClient(const TDesC8& aURL, TInt size)

{

Cancel();

iSocket.Close();

iResolver.Close();

iSecondUrl.Copy(aURL);

iDownloadSize = size;

curSizeL = size+MAXDOWNLOADSIZE;

TUriParser8 m_oUri;

m_oUri.Parse(iSecondUrl);

const TDesC8& sScheme=m_oUri.Extract(EUriScheme);

const TDesC8& sHost=m_oUri.Extract(EUriHost);

const TDesC8& sPort=m_oUri.Extract(EUriPort);

const TDesC8& sPath=m_oUri.Extract(EUriPath);

if (!isWap)//如果是NET接入点

{

iServerName.Copy(sHost);

}

else//如果是WAP接入点,设置代理

{

#ifdef _DEBUG

iServerName.Copy(sHost);

#else

iServerName.Copy(_L("10.0.0.172"));

#endif

}

if (sPort.Length() == 0)//端口

{

port = 80;

}

else

{

TLex8 iLex;

iLex = sPort;

iLex.Val(port);

if(port == 0)

{

port = 80;

}

}

//组装HTTP请求头

if (iRequest)

{

delete iRequest;

iRequest = NULL;

}

iRequest = HBufC8::NewL(1024);

iRequest->Des().AppendFormat(_L8("GET %S HTTP/1.1 "),&iSecondUrl);

#ifdef _DEBUG

iRequest->Des().AppendFormat(_L8("Host:%S "),&sHost);

// iRequest->Des().AppendFormat(_L8("Host:%S

1 2 3 4 5 6  下一页

Tags:Symbian RSocket DownLoad

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