当前位置:编程学习 > wap >>

关于连接接入点的问题

目前写了一个需要用到网络连接的程序,目前是这么实现接入点连接的
......

TCommDbConnPref connectPref;

connectPref.SetDialogPreference(ECommDbDialogPrefPrompt);
connectPref.SetBearerSet(ECommDbBearerWLAN | ECommDbBearerGPRS);
connectPref.SetDirection(ECommDbConnectionDirectionUnknown);

TRequestStatus iStatus;
iConnection.Start(connectPref, iStatus);   
User::WaitForRequest(iStatus);

......

现在的问题是User::WaitForRequest这里会等待比较长的时间,而由于是在主线程里面做的,所以也无法在等待过程中刷新界面了(就是想在界面上做一些"连接中"的提示和动态效果).

假如我不调用User::WaitForRequest来保证连接过程已经结束, 我应该怎么获得"连接过程结束"这一事件并且通过类似回调函数的方法做后续处理呢? --------------------编程问答-------------------- start可以只输入一个参数,如下例子
TCommDbConnPref prefs;
prefs.SetDialogPreference(ECommDbDialogPrefPrompt);
prefs.SetDirection(ECommDbConnectionDirectionOutgoing);
prefs.SetBearerSet(ECommDbBearerGPRS|ECommDbBearerWLAN|ECommDbBearerVirtual);
err=iConnection.Start(prefs);
if(err==KErrNone)
{
iConnection.GetIntSetting(KIapIdSettingName,iIap.iId);
iConnection.GetDesSetting(KIapNameSettingName,iIap.iName);


TBuf<20> Iap;
Iap.AppendNum((TInt)(iIap.iId));


//写入接入点信息
iCameraSetting.iIapIndex = iIap.iId;
iCameraSetting.iIapName = iIap.iName; 
iSocketServConnected = ETrue;
CheckPngAndDownload();
return KErrNone;
}
else
return err; --------------------编程问答--------------------
引用 1 楼 netlib 的回复:
start可以只输入一个参数,如下例子
TCommDbConnPref prefs;
prefs.SetDialogPreference(ECommDbDialogPrefPrompt);
prefs.SetDirection(ECommDbConnectionDirectionOutgoing);
prefs.SetBearerSet(ECommDbBearerGPRS|ECommDbB……

那也是同步的方式吧, 我现在是需要在等待连接的过程中在界面上做相应提示, 然后连接完成后有回调函数的方法
--------------------编程问答-------------------- 使用异步方式啊
用AO --------------------编程问答-------------------- 那就用你的那个,
TRequestStatus iStatus;
iConnection.Start(connectPref, iStatus);  
//User::WaitForRequest(iStatus);//注意这儿不要等待,使用AO异步处理 --------------------编程问答-------------------- AO的用法,查一下CActive --------------------编程问答-------------------- iConnection.Start(connectPref, iStatus);   使用这个是对的 

同时网络有你一个观察者 用来监听网络的状态的 在RConnect 这个类中有介绍的 --------------------编程问答--------------------
引用 3 楼 jmulxg 的回复:
使用异步方式啊
用AO


Right.
补充:移动开发 ,  Symbian
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,