嵌入式網(wǎng)絡(luò)撥號(hào)功能設(shè)計(jì)與實(shí)現(xiàn)
⑤成員函數(shù):start
功能:開啟網(wǎng)絡(luò)服務(wù)。如果網(wǎng)絡(luò)空閑,則開始新的網(wǎng)絡(luò)服務(wù)。如果有相同網(wǎng)絡(luò)服務(wù)在運(yùn)行,應(yīng)用程序?qū)⑹褂靡汛嬖诘木W(wǎng)絡(luò)服務(wù)。
原型:Static void start(const Quuid&uuid,const QString&service=QString::null,const QString&password=QString::null)
⑥成員函數(shù):stop
功能:停止網(wǎng)絡(luò)服務(wù)。如果有其他應(yīng)用程序使用該網(wǎng)絡(luò)服務(wù),網(wǎng)絡(luò)服務(wù)將不會(huì)斷開,僅僅終止該應(yīng)用程序。否則停止網(wǎng)絡(luò)服務(wù)。
原型:static void stop(const QUuid&uuid)
第二:類NetworkServe主要成員函數(shù):
①成員函數(shù):emitFailed
功能:發(fā)送失敗信息。
原型:void emitFailed(QUuid&uuid,intstatus)
②成員函數(shù):examineNetworks
功能:檢查網(wǎng)絡(luò)配置。
原型:void examineNetworks()
③成員函數(shù):networkOnline
功能:判斷網(wǎng)絡(luò)是否連接。
原型:bool networkOnline()const
④成員函數(shù):start
功能:開始網(wǎng)絡(luò)服務(wù)。
原型:void start(QUuid&uuid,const QString&file,const QStringpassword)
⑤成員函數(shù):stop
功能:停止網(wǎng)絡(luò)服務(wù)。
原型:void stop()
⑥成員函數(shù):timeEvent
功能:若網(wǎng)絡(luò)連接,開啟定時(shí)器進(jìn)行監(jiān)控;否則網(wǎng)絡(luò)斷開,終止定時(shí)器,并發(fā)送網(wǎng)絡(luò)斷開消息。
原型:void timerEvent(QTimerEvent*timer)
⑦成員函數(shù):receive
功能:接收應(yīng)用進(jìn)程發(fā)送的網(wǎng)絡(luò)信息。
原型:void NetworkServer::receive(const QCStringmsg,const QByteArray&data)
(3)dailup.cpp主要是進(jìn)行撥號(hào),由類PppMon,
Dailup和DialupImpl構(gòu)成。定義如下:
①類PppMon。功能:監(jiān)視網(wǎng)絡(luò)狀態(tài);
②類Dialup。功能:實(shí)現(xiàn)一個(gè)撥號(hào)窗體;
③類DialupImpl。功能:撥號(hào)實(shí)現(xiàn)。
(4)網(wǎng)絡(luò)撥號(hào)建立
①應(yīng)用程序發(fā)起上網(wǎng)請求。
②如果當(dāng)前網(wǎng)絡(luò)空閑,則自動(dòng)撥號(hào)(配置撥號(hào)文件、開啟網(wǎng)絡(luò)狀態(tài)監(jiān)控和發(fā)送AT指令連接)。
③如果網(wǎng)絡(luò)已被占用,則表明其他應(yīng)用程序在使用網(wǎng)絡(luò)。
此時(shí)需判斷當(dāng)前上網(wǎng)方式:CSD(按照時(shí)長來收費(fèi))或GPRS(按照產(chǎn)生的流量來收費(fèi))。若為CSD/GPRS方式,且該應(yīng)用程序也是以CSD/GPRS方式上網(wǎng),則不要建立撥號(hào)連接,可共同使用網(wǎng)絡(luò);若為CSD/GPRS方式,而該應(yīng)用程是以GPRS/CSD方式上網(wǎng),則拒絕上網(wǎng)請求。撥號(hào)建立如圖3所示。本文引用地址:http://butianyuan.cn/article/150808.htm linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論