嵌入式网络拨号功能设计与实现
⑤成员函数:start
功能:开启网络服务。如果网络空闲,则开始新的网络服务。如果有相同网络服务在运行,应用程序将使用已存在的网络服务。
原型:Static void start(const Quuid&uuid,const QString&service=QString::null,const QString&password=QString::null)
⑥成员函数:stop
功能:停止网络服务。如果有其他应用程序使用该网络服务,网络服务将不会断开,仅仅终止该应用程序。否则停止网络服务。
原型:static void stop(const QUuid&uuid)
第二:类NetworkServe主要成员函数:
①成员函数:emitFailed
功能:发送失败信息。
原型:void emitFailed(QUuid&uuid,intstatus)
②成员函数:examineNetworks
功能:检查网络配置。
原型:void examineNetworks()
③成员函数:networkOnline
功能:判断网络是否连接。
原型:bool networkOnline()const
④成员函数:start
功能:开始网络服务。
原型:void start(QUuid&uuid,const QString&file,const QStringpassword)
⑤成员函数:stop
功能:停止网络服务。
原型:void stop()
⑥成员函数:timeEvent
功能:若网络连接,开启定时器进行监控;否则网络断开,终止定时器,并发送网络断开消息。
原型:void timerEvent(QTimerEvent*timer)
⑦成员函数:receive
功能:接收应用进程发送的网络信息。
原型:void NetworkServer::receive(const QCStringmsg,const QByteArray&data)
(3)dailup.cpp主要是进行拨号,由类PppMon,
Dailup和DialupImpl构成。定义如下:
①类PppMon。功能:监视网络状态;
②类Dialup。功能:实现一个拨号窗体;
③类DialupImpl。功能:拨号实现。
(4)网络拨号建立
①应用程序发起上网请求。
②如果当前网络空闲,则自动拨号(配置拨号文件、开启网络状态监控和发送AT指令连接)。
③如果网络已被占用,则表明其他应用程序在使用网络。
此时需判断当前上网方式:CSD(按照时长来收费)或GPRS(按照产生的流量来收费)。若为CSD/GPRS方式,且该应用程序也是以CSD/GPRS方式上网,则不要建立拨号连接,可共同使用网络;若为CSD/GPRS方式,而该应用程是以GPRS/CSD方式上网,则拒绝上网请求。拨号建立如图3所示。本文引用地址:https://www.eepw.com.cn/article/150808.htm
评论