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