【vb精品源码栏目提醒】:网学会员为需要vb精品源码的朋友们搜集整理了基于Windows服务的网口与串口通信设计及应用 - 技术总结相关资料,希望对各位网友有所帮助!
第8卷 第17期 2008年9月081725075205 科 学 技 术 与 工 程ScienceTechnologyandEngineering Vol18 No117 Sep12008Ζ 2008 Sci1Tech1Engng1基于Windows服务的网口与串口通信设计及应用陆云龙 雷志华3华中科技大学现代教育技术中心武汉430074摘 要 开发基于PC机Windows服务所实现的远程控制是值得进一步研究的课题。
阐述了Windows服务的基本特性和开发过程分析了网口与串口通信协议及软件设计流程。
进而在多媒体教室设备网络集成远程控制应用中提出以PC机为主体的网口与串口通信“零成本”解决方案表明此技术的特殊优势。
关键词 Windows服务 网口 串口 Socket SerialPort中图法分类号 TP393.04 文献标志码 A2008年5月26日收到第一作者简介:陆云龙1965—男华中科技大学现代教育技术中心工程师工学学士。
研究方向:多媒体教室设备嵌入式集成控制、多媒体网络教室远程控制及软件开发。
E2mail:lylmail1hust1edu1cn。
3通信作者简介:雷志华1953—男华中科技大学现代教育技术中心高级工程师工学硕士。
研究方向:现代教育技术装备、多媒体网络教室远程控制及软件开发。
E2mail:lzhmail1hust1edu1cn。
多媒体教室设备网络集成中央控制系统简称网络中控是一个典型的网口与串口通信应用其主要控制对象是投影机是为了实现不同的信号源切换到屏幕上而设立的。
不过投影机已经具备了信号源切换功能与其连接的台式电脑又有网口和串口硬件资源。
在零星而分散的教室里再配置网络中控显然是有些多余而且网络中控还必须占用一个目前网络资源紧张的IP地址。
为了充分利用投影机和台式电脑自有的硬件资源这里使用MicrosoftVisualStudio2005集成开发工具和.NET210框架采用C编程语言提出一种运行不需用户交互也不与其它应用进程发生冲突而基于PC机Windows服务1的网口与串口通信“零成本”解决方案。
如图1所示的基于Windows服务的网口与串口通信原理由Windows服务控制管理SCM来注册和控制网口与串口通信程序并由Windows日志随时记录网口与串口的通信过程。
图1 Windows服务的网口与串口通信1 网口与串口通信关键技术111 Windows服务的基本特性及开发流程一个Windows服务程序是在Windows操作系统下不要求用户交互而能在后台运行特定功能的可执行应用程序。
对于自动启动的Windows服务程序在Windows启动或是重启之后用户登录之前就开始执行随Windows系统关闭而最后停止。
1NET210框架简化了Windows服务程序的创建和控制过程涉及到两个主要命名空间:System1ServiceProcess、System1Diagnostics四个类:ServiceBase、ServiceInstaller、ServiceProcessIn2staller、ServiceController。
其中ServiceBase类定义了Windows服务两个关键函数:启动函数OnStart和关闭函数OnClose也是Windows服务后台程序开发重点。
Windows服务程序的安装由安装类System1Configuration1Install1Installer来完成包括了Windows服务运行所需的帐号信息用户名、密码信息以及Windows服务的名称启动方式等信息并由1NET提供ServiceController组件用于连接到已安装的服务并操作其状态。
可通过InstallU2til1exe来装载Windows服务程序或通过InstallU2til1exe/u来卸载。
Windows服务分为服务应用程序启动服务程序监控及运行和服务程序安装3个部分这3部分通过安装程序组合为一个完整的EXE文件。
但是由于Windows服务无窗口界面使网口与串口通信过程无法通过窗口界面显示出来使Windows服务程序在开发过程调试极为困难。
为了便于开发Windows服务程序采取两步走的策略:先开发出基于Windows窗口界面的C/S客户端/服务器端模式的网口与串口通信的服务器程序再将服务器程序转化为类库类型的DLL文件然后开发出Windows服务程序基本框架。
在基本框架内的OnStart函数里调用网口与串口通信的服务器DLL文件避开了Windows服务程序调试困难如图2所示的Windows服务应用程序开发过程。
112 网口帧与串口帧设