symbian RHTTPSession 报HTTPTH 8错误

daiwenlove 2010-02-25 05:09:11
symbian RHTTPSession 报HTTPTH 8错误是什么原因?
那位遇到过,怎么解决
...全文
217 25 打赏 收藏 转发到动态 举报
写回复
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
daiwenlove 2010-12-14
  • 打赏
  • 举报
回复
这个帖子忘记结贴了,这个内存不足的问题在真机上好像没有,所以目前认为可能是模拟器的bug

感谢大家的帮助
iamsorry198609 2010-03-26
  • 打赏
  • 举报
回复
这么多的大侠讨论http这方面的。。学习了。。
希望楼主的问题早日解决。。。并且分享一下。谢谢。
dsj188 2010-03-25
  • 打赏
  • 举报
回复
看看请求的地址有没有问题
daiwenlove 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 dyw 的回复:]

每次分配的内存用过后都释放了???
[/Quote]

退出时也没有报告内存泄露~~~

应该释放了
dyw 2010-03-19
  • 打赏
  • 举报
回复
每次分配的内存用过后都释放了???
daiwenlove 2010-03-19
  • 打赏
  • 举报
回复
没。。。。。。。。。。。
系统提示错误:
/**
System wide error code -4 : an attempt to allocate memory has failed.

A system wide error code indicates an error in the environment, or in
user input from which a program may recover.
*/
const TInt KErrNoMemory=(-4);


一段时间后重连还是-4

郁闷啊
wxxloveu 2010-03-19
  • 打赏
  • 举报
回复
搞定了?恭喜
daiwenlove 2010-03-19
  • 打赏
  • 举报
回复
if(iNetConState==ENetDisCon)
{
TRAPD(aErr,iSocketServer.Connect());
if(aErr!=KErrNone)
{
iNetConState=ENetDisCon;
iTaskNotifier.NetStateNotify();
return;
}

TRAPD(aErrt,iRCon.Open(iSocketServer));
if(aErrt)
{
iNetConState=ENetDisCon;
iTaskNotifier.NetStateNotify();
return;
}
iPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
iPref.SetIapId(iIap);
//iPref.SetDialogPreference(ECommDbDialogPrefPrompt);

iNetConState=ENetConnecting;

iRCon.Start(iPref, iStatus);
}

当成功时,按照下面的方法用RHTTPSession有问题吗

TRAPD(aErr, iHttpSess.OpenL());
if(aErr!=KErrNone)
{
return aErr;
}

RHTTPConnectionInfo ConnInfo = iHttpSess.ConnectionInfo();

RStringPool szPool = iHttpSess.StringPool();

RStringF aSocketConnStr = szPool.StringF(HTTP::EHttpSocketConnection,RHTTPSession::GetTable());
ConnInfo.SetPropertyL(aSocketConnStr, THTTPHdrVal(iRConHandle));
aSocketConnStr.Close();

RStringF aSocketServStr = szPool.StringF(HTTP::EHttpSocketServ,RHTTPSession::GetTable());
ConnInfo.SetPropertyL(aSocketServStr, THTTPHdrVal(iSocketHandle));
aSocketServStr.Close();
return KErrNone;
dyw 2010-03-19
  • 打赏
  • 举报
回复
学习了,首次听说有HTTPTH型异常...
daiwenlove 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 alex_hua 的回复:]
记得"HTTPTH 8"一般都是在AO的异步方法中使用了局部变量导致了(不知道有没有记错panic的名字),你可以往这方面检查下你的代码。
[/Quote]

开始时是犯了这个错误。后来就该过来了,就不报错了,“AO的异步方法中使用了局部变量”这个错误永远记住了,把人都搞崩溃了,这个错误
alex_hua 2010-03-16
  • 打赏
  • 举报
回复
记得"HTTPTH 8"一般都是在AO的异步方法中使用了局部变量导致了(不知道有没有记错panic的名字),你可以往这方面检查下你的代码。
daiwenlove 2010-03-16
  • 打赏
  • 举报
回复
在真机上测试时没有问题,我的手机是NOKIA 6120
daiwenlove 2010-03-04
  • 打赏
  • 举报
回复
当我把同时下载数设为1时,在这个任务完成后在开始下一个任务,此时能连续下载14~15个任务,然后程序就停了,但是当我单步的时候,可以一直持续下载,不会说下载完14~15个就会停住的情况
是我程序的问题,还是RHTTPSession对多任务并发下载的支持问题


上面的情况都是在模拟器上调试的,真机还没有调试
wxxloveu 2010-03-04
  • 打赏
  • 举报
回复
nihao38 2010-03-03
  • 打赏
  • 举报
回复
关注 关注 关注 帮顶
daiwenlove 2010-03-03
  • 打赏
  • 举报
回复
引用 9 楼 shuaigea12 的回复:
你需要多少个下载任务并行,就创建多少各RHTTPSession,不要一直循环打开。

是这样做的

但是在下载其中一个任务的时候就会出现这样的错误,然后我就对这个任务重新连接下载,这时再次连接时就会出现这样的问题

现在队列中有14个任务,我同时下载2个,当有任务完成时,我就把完成的任务相应的RSocket和RHTTPSession给Close。然后开始下一任务

这样在下完7~8个任务时,有一个任务就会出现上面的情况,导致别的任务不能继续下载

上面的情况是当一个任务下载中出现错误时我是那样处理的
shuaigea12 2010-03-03
  • 打赏
  • 举报
回复
你需要多少个下载任务并行,就创建多少各RHTTPSession,不要一直循环打开。
daiwenlove 2010-03-03
  • 打赏
  • 举报
回复
现在遇到一个新问题。TRAPD(aErr, iHttpSess.OpenL());得到-4的错误(SDK上说没有内存),失败后,
我会在After一段时间后重新OpenL,程序好像一直会在这里循环
是不是打开的RHTTPSession太多的缘故?但是我之前打开的RHTTPSession在结束时都会Close掉。
在模拟器上堆栈设定的也不小啊,
Min heap size :0x10000
Max heap size :0x1000000

那位遇到过。帮下小弟
daiwenlove 2010-03-03
  • 打赏
  • 举报
回复
HTTPTH 8我现在也没有弄清楚是什么错误,是程序别处的问题。修改了别处,好像就没有报这个错误了,
个人感觉当频繁的向RHTTPSession发送OpenL等请求时,会产生这样的错误
bsr2009 2010-03-02
  • 打赏
  • 举报
回复
没遇到过这种情况,查了一下HTTPTH 居然主要是LZ这个帖子。是不是有些内存或者连接需要定时释放?
加载更多回复(5)
相关推荐

3,120

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告