logo资料库

ip多播组讨论会系统论文.doc

第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
资料共51页,剩余部分请下载后查看
第 1 章 概论
§1.3面向对象方法与设计简介
基于 ip 多播组讨论会系统 摘 要 现在,企业、机关、学校都建立起了自己的讨论会系统,在讨论会 系统,虽然可以通过文件共享的方式进行通讯,但单单使用这种方式, 是非常不方便的,首先,在讨论会系统里的网上邻居里,只能看到机器 名,不清楚对方是谁,也不知道对方机器里有什么资源可以共享,而且, 当讨论会系统的机器很多时,这种方式更加麻烦。于是,就想到做一个 在讨论会系统里的 icq,在讨论会系统里,我们可以通过它,实现在讨 论会系统里方便的联络,进行文件传输,消息的发布,自己共享内容的 简介等。在学校建立起校园网里,这软件可以起到方便同学之间,教师 之间,师生之间的相互联络,这样,不用上 Internet,可以节省资源,在 学校这个大环境里,就可以同学之间联系,联络感情,促进同学之间的 友谊,学生可以通过它来与不同寝室的同学,教师讨论问题。并能最大 限度地利用现有的网络资源,极大地提高工作效率。为了适应校园网的 建设,实现校园网内进行消息发布,学生交流,师生交流,网上作业等 功能。 随着计算机应用技术的日益普及,网络也遍及到我们生活的每个角 落,很好的利用这人资源,将为我们的工作和学习,带来极大的方便和 提高工作效率,所以,开发一个讨论会系统里的 C/S 通讯软件,是十分 必要。 由于采用面向对象方法开发软件具有明显的优点,本系统将采用面 向对象方法进行开发。由于采用面向对象的系统模型可以使整个软件系 统的结构变得更加灵活,本系统的结构模型将采用面向对象的系统模型, 采用 VC++6.0 这个可视化开发工具进行编码。 关键字: 对象方法 开发软件 优点 系统模型, VC++6.0 1
Abstract Now, enterprises, institutions, schools have established their own conference system, the discussion system, while the documents could be shared through means of communication, but only in this way, is very inconvenient, first of all, the conference system in network neighborhood, only to see the machine, do not know each other who is, do not know what the other machine resources can be shared, but, when the discussion system machine many, this means more trouble. So, I did a conference system in ICQ, in the conference system, we can through it, in the discussion will be convenient communications, file transfer, news, their shared content introduction. In the school to establish a campus network, this software can be convenient to students, among teachers, between teachers and students communicate with each other, so that, without Internet, can save the resources, in school this environment, you can link between the students, contact feelings, to promote the friendship between classmates, students can use it to with different dormitory students, teachers to discuss problems. And to maximize the use of existing cyber source, greatly improve the working efficiency. In order to adapt the campus net construction, publish, the campus network for message exchange student, teacher-student communication, online homework and other functions. With the popularization of computer application technology, network has spread to every corner of our lives, very good use of the human resources, for our work and study, and bring great convenience and improve the work efficiency, the development of a seminar C/S communication system software, it is necessary to. Due to the use of object-oriented software development method has obvious advantages, the system will use the object-oriented method to develop. Due to the use of the object oriented system model makes the whole structure of the software system becomes more flexible, the structure model of this system will use the object oriented system model, using the VC++6.0 visual development tool code. therefore, Keywords: object methodologies to software development advantages of the system model, VC++6.0 2
目 录 第 1 章 概论 §1.1 课题的来源及意义 …………………………………………… 1 §1.2 网上会议的软件的现况……………………………………… 1 §1.3 面向对象方法与设计简介…………………………………… 2 §1.4 本章小结………………………………………………………… 3 第 2 章 讨论系统程序的设计原理和过程 §2.1 TCP/IP 协议 …………………………………………………… 4 §2.2 客户/服务器程序的设计 …………………………………… 6 第 3 章 软件功能与界面需求…………………………………………… 9 第 4 章 概要设计和详细设计 §4.1 总体设计概述……………………………………………………10 §4.2 服务器数据库的设计 …………………………………………11 §4.3 类设计的总体结构 ……………………………………………13 §4.4 服务器端的常量定义 …………………………………………15 §4.5 客户端的常量定义 ……………………………………………17 §4.6 服务器端的底层通讯类的设计………………………………21 §4.7 客户端的底层通讯类的设计…………………………………23 §4.8 客户/服务器之间的通讯的数据类的设计 ………………25 §4.9 发送数据的确认消息的编码方案 …………………………30 §4.10 服务器端的分配用户帐号的策略…………………………31 §4.11 服务器的应用程序类 CServerApp 的设计 ……………31 §4.12 客户端的应用程序类 CClientApp 的设计 ……………33 §4.13 服务器端检查用户是否仍然在线的算法 ………………34 §4.14 服务器端处理用户请求的算法……………………………35 §4.15 客户端处理服务器发送来数据的算法 …………………40 第 5 章 全文总结与工作展望 §5.1 全文总结…………………………………………………………42 §5.2 工作展望…………………………………………………………42 第 6 章 附录 §6.1 查错日志…………………………………………………………43 §6.2 设计中遇到的问题 ……………………………………………46 参 考 文 献……………………………………………………………………47 3
第 1 章 概论 §1.1 课题的来源及意义 在网络无所不在的今天,在 Internet 上,有 icq,oicq,ticq 等网上会议 软件,极大程度上方便了处于在世界各地的友人之间的相互联系,也使 世界好象一下子缩小了,不管你在哪里,只要你上了网,打开这些软件, 就可以给你的朋友发信息,不管对方是否也同时在线,只要知道他有号 码。 现在,企业、机关、学校都建立起了自己的讨论会系统,在讨论会 系统,虽然可以通过文件共享的方式进行通讯,但单单使用这种方式, 是非常不方便的,首先,在讨论会系统里的网上邻居里,只能看到机器 名,不清楚对方是谁,也不知道对方机器里有什么资源可以共享,而且, 当讨论会系统的机器很多时,这种方式更加麻烦。于是,就想到做一个 在讨论会系统里的 icq,在讨论会系统里,我们可以通过它,实现在讨 论会系统里方便的联络,进行文件传输,消息的发布,自己共享内容的 简介等。在学校建立起校园网里,这软件可以起到方便同学之间,教师 之间,师生之间的相互联络,这样,不用上 Internet,可以节省资源,在 学校这个大环境里,就可以同学之间联系,联络感情,促进同学之间的 友谊,学生可以通过它来与不同寝室的同学,教师讨论问题。并能最大 限度地利用现有的网络资源,极大地提高工作效率。为了适应校园网的 建设,实现校园网内进行消息发布,学生交流,师生交流,网上作业等 功能。 §1.2 网上会议的软件的现况 网上会议软件在国外的有 icq 等,在国内的主要有腾讯的 Oicq,还 有 Ticq,OmO 和一些在网页上的即时通讯工具,像 Chinaren 网站上的 WebMaster 等等,都做得即美观,且功能强大,Oicq 现在拥有非常大的 用户群。 4
在讨论会系统内的网上会议,就我知道的有武汉硕思软件公司的硕 思即时通,能够较好的完成讨论会系统上会议,聊天,发文件,收 E-mail 等功能。 现在也有很多,在讨论会系统上不使用服务器的通讯软件,这种软 件小巧且方便,也能解决一部分问题。但是有服务器的通讯软件,有着 不可比拟的优势:可以发送离线消息,不管用户当时是否在线,下次上 线时,就可以看到这条消息了。可以保存用户的个人信息或介绍,供人 查看。而且,那种通讯软件,是以机器为通讯单元的,而这种会议软件 是以人为通讯单元。总之,这种软件在讨论会系统上,还是有很大的用 途的,为讨论会系统上通讯,带来极大的方便。 虽然说,现在这个软件已经有公司把它开发出来了,我再做也不一 定有新意,也未必可以做得更好,但作为毕业设计,也算是对我能力的 一个考验和这四个我学习知识的一个检查。而且,我校现在也正在筹备 建立校园网,如果这个软件做得比较成功的话,能为校园网上的通讯带 来一定的方便,我就很满足了。 §1.3 面向对象方法与设计简介 传统的软件工程方法有生命周期方法和快速原型法。 面向对象方法学是一种全新的软件工程方法,其出发点和基本原则 是尽可能模拟人类习惯的思维方式,把构成客观世界的实体抽象为对 象。概括地说,面向对象方法学有四个要点: 1.认为客观世界是由各种对象组成的,复杂的对象可以由比较简单 的对象以某种方式组合而成; 2.把所有对象都划分成各种对象类,每个对象类可以定义一组数据 和方法; 3.按照子类和父类的关系,把若干对象类组成一个层次结构的系 统; 5
4.对象彼此之间仅能通过传递消息互相联系。 用面向对象方法学开发的软件有以下优点: 1.与人类习惯的思维方法一致; 2.稳定性好; 3.可重用性好; 4.可维护性好。 §1.4 本章小结 随着计算机应用技术的日益普及,网络也遍及到我们生活的每个角 落,很好的利用这人资源,将为我们的工作和学习,带来极大的方便和 提高工作效率,所以,开发一个讨论会系统里的 C/S 通讯软件,是十分 必要。 由于采用面向对象方法开发软件具有明显的优点,本系统将采用面 向对象方法进行开发。由于采用面向对象的系统模型可以使整个软件系 统的结构变得更加灵活,本系统的结构模型将采用面向对象的系统模型, 采用 VC++6.0 这个可视化开发工具进行编码。 6
第 2 章 讨论系统程序的设计原理和过程 对讨论系统程序的设计的原理和过程的透彻理解,是讨论系统程序 的前提。本章将简要地介绍一下有关讨论系统程序设计的基本知识。 §2.1 TCP/IP 协议 TCP/IP 是国际互联网所采用进行网际互连的通信协议。实际所称的 TCP/IP 协议包括了在国际互联网上应用的一组协议,互联网协议族是此 协议族的另一个名字。这个协议族包括几种工作在不同层次上的网络协 议,IP 互连协议(Internet Protocol),负责主机之间的传输数据。TCP 传输控制协议(Transmission Control Protocol),负责在应用程序之 间传递数据。UDP 用户数据报协议(User Datagram Protocol),提供给 用户进程的无连接协议,也负责在应用程序之间无连接传递数据,但不 执行正确性检查。ICMP 互连网控制报文协议(Internet Control Message Protocol),处理主机间的差错和传送控制。ARP 地址解析协议(Address Resolution Protocol),负责将网络层地址转换成链路层地址。RARP 反 向地址解析协议(Reverse Address Resolution Protocol),负责将链 路层地址转换成网络层地址。 TCP/IP 协议的核心是传输层协议(TCP、UDP)、网络层协议(IP) 和物理接口层,这三层通常在操作系统的内核中实现。TCP/IP 网络环境 下的应用程序设计是通过网络系统编程界面 Socket 实现的,Socket 提 供应用程序与系统内核之间的网络编程接口。协议可以是可靠的可以是 不可靠的。可靠的协议意味着当数据通过协议传递时,协议保证数据正 确传输。可靠传输包括几个特征。首先,为了确保数据正确传送,协议 在通信应用程序之间互相交换确认信息。也就是说,程序每次发送-个 报文时,都期望对方发送一个相当于说:“我得到这个报文”的确认信 息。如果发送程序没有收到这样一个确认信息,程序将自动重新发送此 报文,直到得到应答信息为止。其次,为了确保传输的数据有效,可靠 协议在每次传输时,都包含一个或更多的校验和(CRC)。接收计算机重 新计算校验和,与收到的校验和进行比较。如果不匹配,就表明在传输 7
过程中发生了错误。 传输控制协议 TCP 是一个使用校验和、确认信息以及其它可靠数据 传输技术的可靠协议。相比之下,不可靠协议不能确保数据正确传输。 协议试图传输数据,但不保证成功。而且,不可靠协议在传输失败后, 并不通知发送方应用程序。可将不可靠数据传输比作没有返回地址的信 件。如果发送地址是锗误的,由于邮递系统不能将信退回给你,所以你 就不知道信件有没有送到。即使发送地址是正确的,也不能保证邮递系 统不丢失你的信件。 TCP/IP 协议组中存在的两个基本数据服务是:字节流服务和数据 报服务,使用字节流的协议将信息看作一串字节流进行传输。协议不管 要求发送或接收数据的长度和传送数目,只是将数据看作一个简单的字 节串流。使用数据报的协议将信息视作一个独立单元进行传输。协议单 独发送每个数据报——数据报之间不相互依赖。例如,假设你使用字节 流协议发送 5 个数据段(每个有 10 字节)和一个包含 50 字节的数据段 (总共 100 字节)。连接的接收方可以按每次 20 字节读数据(要读 5 次)。 传输控制协议是字节流协议。 字节流协议不关心每个数据段的长度。如果应用程序使用字节流协 议发送数据,则协议能够保证连接的另一端按照发送的顺序接收数据。 相比之下,传输到同一目的地的多个数据报可能不会按发送顺序到达。 如果接收方应用程序要求数据顺序一致,应用程序必须在数据到达后, 校对这些数据。用户数据报协议和互连网协议使用数据报传输数据。数 据报类似于信件。如果你在同一天给同一个人邮寄两封信,你无法知道 那个人先收到那封信。同样,如果连续两天给两个人邮信,你也不能知 道哪封信先收到。收到信的顺序和发送顺序可能相反。 在 TCP/IP 术语中,端口类(Port)似于 IP 地址,IP 地址与主机地 址是相联系的,端口和协议相联系。IP 数据报保存目的和源 IP 地址, 同样传输协议也保存源和目的端口号。如果端口这个概念对你来说很陌 生,请考虑计算机上的硬件端口。你可能编写过往硬件端口送数据的程 序。例如为了打印,如果没有其它程序的话,必须向串或并端口发送数 据。PC 机给它的端口命名和编号。 例如,PC 机的并行打印端口称为 LPTl 和 LPT2,串行端口称为 COM1 和 COM2。在 Internet 上,网络只是简单地对协议端口编号。在 PC 机, 8
分享到:
收藏