基于消息驱动的面向对象通用C/S应用框架有一套可实际应用的源码,包含下列内容:
(1)Apache的Xercesc C++ XML Parser for VC++库,版本为2.6.0,包括一套头文件、一个导出库xerces-c_2.lib和一个DLL xerces-c_2_6.dll;
(2)Utility库:是作者累积的一些工具,以源代码头文件形式呈现;
(3)XMLForWin32Wrapper:为了生成和解析XML消息的方便,作者对Apache XML Parser做的一个简单的封装,包括一套头文件、实现文件以及一个静态库XMLForWin32Wrapper.lib;
(4)CommunicationLayer:客户端和服务器端的通信层源代码,生成的静态库文件分别为CommunicationClient.lib和CommunicationServer.lib;
(5)Framework:基于消息驱动的C/S应用框架源码,客户端和服务器端使用一套源码,但是会生成不同的库文件FrameworkClientXML.lib、FrameworkServerXML.lib和FrameworkClientBin.lib、FrameworkServerBin.lib;
(6)所有lib文件放在/Lib目录下,所有DLL文件放在/Bin目录下。
以上所有内容打包为一个RAR文件,已经上传到我的资源里,您只需在资源中搜索“基于消息驱动的面向对象通用C/S应用框架”即可找到。下载完成后直接解压到一个指定的目录下即可,然后就可以在它们的基础上开发客户端和服务器端应用程序了。不过,建议在动手之前,最好先把“[连载]基于消息驱动的面向对象通用C/S应用框架”看完!
这个框架有如下特点:
(1)支持任何一种应用层消息协议,用户只需按照预定义的接口提供对应协议的半结构化消息解析器实现即可。本源码中已经包含了对XML和二进制消息格式的支持;
(2)用户只需定义各个客户端和服务器之间的应用层消息格式和交互协议,然后分别在客户端和服务器端编写每个消息对应的全结构化解析器类和消息处理器类,然后通过初始化消息映射表以及用几个宏将消息处理器插入框架,框架就可以运行了。应用层消息格式当然得遵循框架预定义好的消息头内容,否则框架就玩不转了;:-)
(3)客户端和服务器端应用程序的初始化阶段需要调用各自通信层的API函数,客户端调用Communication::Initialize()和Communication::Connect(),而服务器只需调用Communication::Initialize()即可;
(4)目前这个版本,客户端仅支持连接一个服务器。