嵌入式網絡撥號功能設計與實現
3 網絡撥號設計實現
本文選用嵌入式Linux操作系統,因為Linux自帶TCP/IP協議,所以該系統省去了TCP/IP協議的移植。當系統上電后,首先啟動Linux系統,建立主任務,進行串口和GPRS模塊的初始化,然后通過串口信號線驅動Q2403A串口,通過AT指令集進行一系列串口參數設置,并附著與GPRS網絡,撥號到GGSN,新建PPP任務進行數據鏈路層和網絡層的協商,得到IP地址,完成上網過程。本文采用Qt作為網絡撥號功能程序開發的基礎。同時在功能架構設計方面,為了使程序更加合理,將網絡撥號分成兩部分,即網絡(network.h和network.cpp)和撥號(dailup.cp-p)。它們之間的調用由network.h完成。關系類圖如圖2所示。本文引用地址:http://www.104case.com/article/150808.htm
(1)network.h頭文件定義了撥號請求結果和網絡狀態。
①請求結果定義如下:
②狀態定義如下:
(2)network.cpp由類NetworkServer和Network組成,說明如下:
第一:類Network主要成員函數:
①成員函數:choices
功能:得到所有網絡服務配置。
原型:static QStringList choices(QListBox*=0,const QString&dir=QString::null)
②成員函數:createServer
功能:創建NetworkServer實例,為qpe使用。
原型:static void createServer(QObject*parent)
③成員函數:serviceName
功能:通過網絡服務配置文件得到網絡服務名。
原型:static QString serviceName(const QString&service)
④成員函數:serviceType
功能:通過服務配置文件得到網絡服務類型。正常為“dialup”。
原型:static QString serviceType(const QString&service)
評論