当前位置:智城范文网>范文大全 > 征文 > C#.NET实现PC与PPC的双向通信

C#.NET实现PC与PPC的双向通信

时间:2022-03-24 09:10:46 来源:网友投稿

[摘 要]本文首先研究了如何通过Visual Studio.NET 2005开发平台来实现面向对象的系统,重点研究Visual Studio.NET 2005智能设备开发平台的使用及C#.NET程序设计语言在网络传输、多线程处理等方面的应用;然后阐述了在C#.NET平台上,以USB、WIFI方式进行PC与PPC的连接时,PC与PPC双向通信的实现方法。

[关键词]Visual Studio.NET2005智能设备开发平台Visual C#.NETPC与PPC的双向通信

[中图分类号]TP393[文献标识码]A[文章编号]1007-9416(2010)07-0124-02

引言

要实现PPC程序与桌面程序进行通信,可通过Socket技术完成PPC与个人电脑的信息交换。实际上就是将PPC与PC组成一个局域网,把PPC当作局域网中的一个终端来与PC连接。实现连接的物理方式有很多种,可以采用USB、WIFI等方式,组成相应的有线或无线网络。本文研究的是通过Visual Studio.NET 2005开发平台中的C#.NET程序设计语言来实现相关功能。

1 PC与PPC双向通信系统简介

1.1 功能

PC与PPC双向通信系统应用在基于 Windows CE 操作系统的PPC上,主要实现PC与PPC的连接(连接方式为WIFI连接或USB连接)、数据双向传输(数据类型包括各种文档、图片、音频、视频等)、PC或PPC上文件编辑、查看等功能。

1.2 系统工作流程

PC与PPC双向通信系统的基本工作流程如图1所示:

2 PC与PPC双向通信系统基本设计思想

2.1 PC与PPC的建立连接与断开连接

PC与PPC双向通信系统的系统架构分为服务端和客户端,通过Internet连接。

2.1.1 服务端启动服务

过程如下:首先初始化一个TcpListener对象,然后调用这个TcpListener对象的Start()方法进行侦听。因为客户端随时会有连接请求,所以服务端必须创建一个循环的子线程用于不断等待和接受客户端的连接请求(注意是连接请求)。在服务端收到连接请求后,还必须创建一个循环的子线程,用于不断接受客户端的请求命令,然后根据客户端的命令进行相关的操作。

2.1.2 客户端主动连接服务端

过程如下:首先初始化一个TcpClient对象,然后通过这个TcpClient对象的Connect()方法向服务端发出连接请求。服务端的等待连接请求的子线程接收到这个客户端的请求,便为这个客户端创建一个Socket用以会话。创建连接后服务端返回成功连接的信息.之后客户端便通过UI界面接受用户的操作,再把这个操作命令发送给服务端处理。

2.1.3 终止连接

过程如下:如果是服务端终止,则首先终止等待接受客户端连接的子线程,然后调用TcpListener.Stop()方法停止侦听。而客户端要终止,则直接调用TcpClient.Close()方法释放连接即可。

建立连接与断开连接工作原理如图2所示。

2.2 下载文件

客户端UI接收到用户下载的命令后,就向服务端提交命令:要求下载列表窗口选中的文件。服务端在接收到客户端的这个请求后,即初始化子线程,开始线程并向客户端发送消息通知客户端接收文件(附带文件的名称和大小等信息)。客户端接收命令后,即弹出保存询问窗口,让用户选择存放文件的位置并输入保存的名称。这样就完成了初始阶段。

服务端中文件传输的子线程定义一个读文件流,创建缓冲区,循环读取文件到缓冲区中,通过Socket发送给客户端,一直到读取完毕。在客户端,同时初始化文件下载子线程,启动计算接收进度的计时器,启动下载子线程,从Socket不断读取数据包到缓冲区里,如果缓冲区里的内容含有服务端发送过来的读取完毕的消息,则将命令前的缓冲区内容写入文件,并退出循环,否则将缓冲区里的内容全部写到文件中。这样接收文件直到循环退出就完成了文件传输。

最后,服务端必须关闭文件流,终止文件传输的子线程,而客户端则要将进度设置为100%,停止计时器,关闭文件流,终止文件接收的子线程。

下载文件工作原理如图3所示。

3 系统调试与测试的实现

在智能设备项目开发周期的大部分阶段,设备仿真程序都可以充当物理设备的替代品。因此本系统使用Visual Studio.NET智能设备开发平台中的Pocket PC 2003 SE设备仿真器进行系统的开发和调试。因此需进行Pocket PC 2003 SE设备仿真器网络的配置,具体的设置过程较为简单,主要是下载虚拟网卡驱动程序、在PC上安装虚拟网卡驱动、在Visual Studio 2005中配置仿真器参数、配置Pocket PC 2003 SE 仿真器参数等几个步骤。配置好Pocket PC 2003 SE设备仿真器后,即可以使用它来进行系统的调试与测试了。

4 结语

Visual Studio.NET 2005开发环境中的.NET Framework 类库极大的方便了系统的开发,提供了良好的开发环境。其中,.Net Framework中的System.Net.Sockets命名空间的实现 Berkeley 套接字接口的Socket类、用于 TCP 网络客户端侦听连接的TcpListener类、为 TCP 网络服务提供客户端连接的TcpClient类为网络访问的开发提供了极大的便利; System.Threading命名空间则提供了所有与多线程机制应用相关的类。Visual Studio.NET 2005的智能设备开发平台为开发在基于 Windows CE 的智能设备(如 Pocket PC)上运行的软件提供丰富的集成支持。

[参考文献]

[1]E.Reed Doke,John W Satzinger等.面向对象应用程序开发.北京:清华大学出版社,2004.

[2]内格尔等著.李敏波译.C#高级编程(第4版).北京:清华大学出版社,2006.

[3]吴辰等著.C#网络与通信程序设计案例精讲.北京:清华大学出版社,2006.

[4]巴拉赫等著.杨眉等译.UML面向对象建模与设计(第2版).北京:人民邮电出版社,2006.

[5]Mclaughlin,B.D等著.深入浅出面向对象分析与设计(中文版).南京:东南大学出版社,2009.

推荐访问: 双向 通信 NET PC PPC

版权所有:智城范文网 2010-2025 未经授权禁止复制或建立镜像[智城范文网]所有资源完全免费共享

Powered by 智城范文网 © All Rights Reserved.。粤ICP备20058421号