嵌入式网络拨号功能设计与实现
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所示。本文引用地址:https://www.eepw.com.cn/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)
评论