Symbian(RSocket DownLoad)模拟HTTP下载
2010-10-20 07:59:57 来源:WEB开发网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
更多精彩
赞助商链接