QNetworkAccessManager之前如何设置接入点和关联网络连接?

pipzeng 2010-11-02 11:09:15
环境:winxp, QT Creator 2.0/Nokia Qt SDK 1.0 (针对S60 V5手机开发)

程序中采用QNetworkAccessManager处理请求,代码段如下:
...
manager = new QNetworkAccessManager(this); //新建QNetworkAccessManager对象
manager->setProxy(QNetworkProxy::NoProxy);
connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*)));
ui->lbl_msg->setText(codec->toUnicode("登录中,请稍候..."));
manager->get(QNetworkRequest(QUrl(url+"/LoginHandler.aspx?Action=login&LoginName="+loginname+"&Pwd="+pwd+""))); //发送请求

现象描述:
1)代码在模拟器上运行正常。
2)连接到真机(nokia 5235)上调试时,如果真机上设置了默认连接(在承载方式下设置,默认链接为为互联网(联通3gnet)),程序在执行manager->get...时,会导致真机自动重启。
2)若将真机上的默认连接方式设置为(询问一次),则在真机上调试是正常的,但每次网络连接之前都会出现接入点选择框,我选择互联网接入点,运行是正常的。

如何在程序中实现每次需要网络连接时自动寻找接入点(3gnet/3gwap),无需用户选择。在网上学习了一下关于接入点选择和屏蔽方面的资料。

在QNetworkAccessManager之前设置接入点和Connection.Start,代码如下:
...
User::LeaveIfError(iSocketServ.Connect());
User::LeaveIfError(iConnection.Open(iSocketServ));
TCommDbConnPref connectPref;
connectPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
connectPref.SetBearerSet(ECommDbBearerUnknown);
connectPref.SetDirection( ECommDbConnectionDirectionOutgoing );
connectPref.SetIapId(iSelectedIap);
User::LeaveIfError(iConnection.Start(connectPref));

加了以上代码执行后没什么效果,现象还是一样,不知道什么原因。

请高人赐教一下,感谢!
...全文
218 点赞 收藏 1
写回复
1 条回复
pipzeng 2010年11月04日
我顶,请用过QNetworkAccessManager的大侠们指点下...
回复 点赞
发动态
发帖子
Qt
创建于2009-11-04

1.0w+

社区成员

2.5w+

社区内容

Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区公告
暂无公告