毕业设计要求
本毕业设计研究和实现简单的客户机/服务器模式通信,深入了解通信原理,并对现在逐渐兴起的中间件技术CORBA初步研究和实现。
利用socket或dcom实现多机通信并用CORBA实现
1, 客户端的温度计以图形的方式显示
2, 图形显示不得使用已有的控件
3, 以socket或dcom实现客户端,服务器的通信
4, 一个客户端温度的变化能实时的反应在其他的客户端上
5, 客户端温度的变化可以用鼠标托动的方式改变
6, 整个软件的设计应符合软件工程的思想,编程的风格要规范
7, 能以CORBA的思想设计以上通信过程。
二:方案选择:
1,通信系统,特别是现在流行的分布式通信系统,传统的c/s通信模式逐渐不能适应要求,但其他一些新兴技术基本上还是基于c/s模式,可以说客户机/服务器通信模式是其他通信模式的支柱和最基本的原理。在解决通信问题时,仍然是不错的选择。
2,基于socket还是dcom。DCOM 是Microsoft 的组件对象模型COM(Component Object Model ) 的分布式扩展, 它在DCE RPC 的顶端建立了一个对象远程调用(OR2PC) 层,用以支持远程对象. COM 服务器能创建多对象类的对象实例. 一个COM 对象可以支持多个接口,每个接口代表对象一种不同的视图或行为,一个接口由一套功能相关的方法组成. COM 的客户程序通过获取指向对象接口的一个指针,并通过该指针调用方法以实现与COM 对象间的互相作用,就如对象驻留在客户程序的地址空间中一样.COM 指定任何接口都必须遵循一个标准的内存规划,这与C + + 的虚拟函数表相同. 由于该规范是二进制的,它允许集成采用不同的编程语言,如C ++ 、J ava 和Visual Basic 等编写的二进制组件。但是出于对COM组件的熟悉程度不够。同时对COM组件引用释放的操作不怎么熟练。决定采用传统的SOCKET通信,利用套结字解决,同时MFC对SOCKET提供了强大的支持。
3,协议选择
在使用Winsock 控件时,首先需要考虑使用什么协议。可以使用的协议包括TCP 和UDP。两种协议之间的重要区别在于它们的连接状态:
•TCP(传输控制协议) 协议控件是基于连接的协议,可以将它同电话系统相比。在开始数据传输之前,用户必须先建立连接。
•UDP(用户数据文报协议) 协议是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。另外,单次传输的最大数据量取决于具体的网络。
到底选择哪一种协议通常是由需要创建的应用程序决定的。下面的几个问题将有助于选择适宜的协议:
•在收发数据的时候,应用程序是否需要得到客户或者服务器的确认信息? 如果需要使用TCP 协议,在收发数据之前先建立明确的连接。
•数据量是否特别大(例如图象与声音文件) ? 在连接建立之后,TCP 协议将维护连接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的。数据发送是间歇的,还是在一会话内? 例如,如果应用程序在某个任务完成的时候需要通知某个计算机,那么UDP 协议是更适宜的,UDP 协议适合发送少量的数据。在客户/ 服务器工作方式下,当为客户机/ 服务器开发一个应用程序时,可以通过windows 套接字来交换你的数据结构和数据包,以完成应用程序之间的通信。
4,温度计图形采用基于对话框的模式,温度计的图形不准采用已有的控件,可以采用直接的在对话框上画出,也可以采用位图的方式。温度计的图形比较简单,本设计直接在对话框中添加图形框,画出温度计,算法直接采用计算的方式。
5,温度计温度的改变采用鼠标拖动的方式,只要在温度计图形的范围内添加相应的鼠标事件。
6,温度数据可以采用数据库的方式,考虑温度值数据量比较小,没有必要采用数据库,直接以文件代替。服务器段温度值保存在目录下的一个文本中,温度的改变实时的改变文本中的值。
7,整个实现再采用CORBA原理实现。CORBA(通用对象请求代理体系结构)是为对象请求代理(ORBs)标准结构提出的一组规范。该体系结构的重要部分是ORB核心,它位于客户端和服务器的中间,屏蔽了异构网络环境和操作系统平台等细节。为分布式异构环境下的应用程序的开发提供了基础。ORB核心是CORBA 的重要组件,而对C/S两端连接及事件分派的管理是ORB核心设计中的重点。优化的连接管理和事件分派机制将极大提高ORB 核心的效率及其可扩展性。