基于WinCE的嵌入式网络通信系统设计
摘要:介绍了基于Windows CE系统的嵌入式网络通讯客户端的设计方法。在Visual Studio 2010平台下,利用MFCCSocket类完成PC机的网络通讯客户端的设计,同时在Visual Studio 2005平台下,完成嵌入式WinCE操作系统的网络通讯客户端设计。PCARM通讯采用客户/服务器通信模型,PCARM均可选择为服务器,系统可完成网络文本通讯功能。
关键词:WinCE  网页设计基本代码网络通讯  CSocket  ARM
引言
由于网络通讯的快速、便捷等优点,其在嵌入式系统中应用越来越多。Windows环境下进行网络通信最基本的实现方法是应用Windows Sockets实现;Visual Studio开发环境提供了大量基于Windows Sockets的通讯API函数,如WinSockAPIWinInetAPIISAPI,将这些API函数与MFC集成在一起,使网络通信的开发周期越来越短、编程方法越来越简单。本文重点介绍了使用MFCCSocket类编写PC端网络通信客户端的的实现方法,并介绍了如何完成Windows CE操作系统下网络通讯程序的设计。
1CSocket编程
MFC将复杂的WinSock API函数封装到相关类,使得网络编程更容易、简单。为了给编程人员提供更加方便的接口,MFC提供了CSocket类,它是由CAsyncSocket类继承下来的,提供了比CAsyncSocket类更高层、更易于编程操作的WinSock API接口。使用CSocket对象涉及CArchiveCSocketFile 类对象。CSocket编程步骤:(1)构造一个CSocket对象;(2)使用Create()成员函数生成一个socket对象。设计客户端程序时,Create()函数一般情况下应该使用默认参数。对于服务端程序,在调用Create时须指定一个端口。(3)对于客户方套接字,则调用CAsyncSocket::Connect()函数与服务端套接字进行连接;对于服务方套接字,则调用CAsyncSocket::Listen()开始监听客户端的连接请求,收到连接请求后,调用CAsyncSocket::Accept()函数接受请求,建立连接。(4)产生一个CSocketFile对象,将它与CSocket对象关联。(5)为接收和发送数据各产生一个CArchive 对象,将它们与CSocketFile对象关联。(6)使用CArchive对象的Read()、Write()等函数完成传送数据。(7)通讯完毕,销毁CArchiveCSocketFileCSocket对象。
2、网络客户端程序设计
2.1 PC机网络通讯客户端设计
1)启动Visual Studio 2010,创建一个基于对话框架的MFC应用程序项目,将该项目命名为”Test”;在MFC向导中选中Windows 套接字;
2)在对话框中添加按钮控件与编辑框控件;
3)使用类向导为应用程序的按钮添加鼠标单击消息响应函数;
4)使用类向导在应用程序中定义新类CNewSocket,其基类选择为CSocket;重载NewSocket类的OnAccept()、OnReceive()、OnClose()函数;增加公有变量CTestDlg *m_dlg intm_Status并添加成员函数void GetDlgCTestDlg *dlg);
5)为窗口类TestDlg添加5个公有成员变量:CSocketFile *m_fileCArchive *m_arOutCArchive *m_arInCNewSocket* m_ServerSocketCNewSocket* m_ClientSocket;并添加公有4个成员函数:voidSocketReset();void OnClose();void OnReceive();void OnAccept();
6)编译
2.2 嵌入式WinCE系统网络通讯客户端设计
对于嵌入式WinCE系统客户端,其源代码与PC机源代码基本一样,只有步骤(1)不同,其他步骤与PC过程相同。步骤(1):启动Visual Studio 2005,创建一个新项目,Project types选择“Smart Device”,然后Templates选择“MFC Smart Device Application”,将该项目命名为”Test”;在MFC向导中选中Windows 套接字。
3、系统测试
将编译好的嵌入式WinCE系统网络通讯客户端下载到ARM开发板Nandflash中,利用交叉网线连接PC机与ARM开发板。待连接成功后,通过网络链接属性查看双方IP地址。启动客户端,设置好需要链接的IP地址,将PC机设置为服务器,ARM端设置为客户端,启动连接。通讯连接成功后,通讯结果如图1所示。
aPC机客户端                  b)嵌入式客户端
1 测试结果
4、结论
文中主要介绍了MFCCSocket类编程思想与设计方法,并通过CSocket类实现了PC-ARM网络通信客户端设计。ARM平台为OK6410开发板,采用WinCE操作系统。PCARM通信采用客户/服务器通信模型,PCARM均可选择为服务器,通过实例完成了PC机与嵌入式系统的网络通讯客户端设计。该设计方法的缺点在于通讯数据较为单一,无法实现图片的传输等。
参考文献:
[1]马石安 魏文平.Visual C++程序设计与应用教程.北京:清华大学出版社,2011.
[2]侯俊杰.深入浅出MFC.第版.武汉:华中科技大学出版社,2001.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。