多人聊天系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书

2010—2011学年第二学期

专业:计算机科学与技术学号:082501288 姓名:

课程设计名称:计算机网络课程设计

设计题目:多人聊天系统的设计与实现

完成期限:自2011年 5 月30日至2011 年 6 月 5 日共 1 周

设计目的: 该课程设计的目的主要是通过对简单聊天程序的设计及QQ原理的分析,了解聊天程序的功能需求及工作原理;熟悉TCP/IP协议以及套节字编程原理;熟悉Eclipse编程环境及Socket/ServerSocket编程方法。

功能要求:根据现有条件,利用TCP/IP协议以及套节字编程原理实现多人聊天系统的设计和实现。

一、设计的任务:根据实际情况,进行需求分析,了解聊天程序的功能需求及工作原理;熟悉TCP/IP协议以及套节字编程原理;熟悉Eclipse编程环境及Socket/ServerSocket编程方法。

二、进度安排:

序号阶段内容所需时间

1 布置任务及调研2天

2 系统分析与设计2天

3 调试及报告撰写3天

合计7天

三、主要参考资料:

[1] 谢希仁.计算机网络教程.北京: 电子工业出版社,2006.

[2] 卢泽新.路由器原理与设计.北京:电子工业出版社,2003.

[3] 方敏,张彤.网络应用程序设计.西安:电子科技大学出版社,2005.

[4] 黄超.Windows下的网络编程.北京:人民邮电出版社,2003.

指导教师(签字):教研室主任(签字):

批准日期:年月日

摘要

本课程设计主要是设计并实现一个简单的聊天程序,该聊天程序能够支持多人聊天,聊天的内容可以仅仅支持文本信息,聊天程序包括服务器程序和客户端程序。在课程设计中系统的开发平台为Eclipse程序运行平台为Windows XP。

关键词:聊天程序;服务器;客户端;Eclipse

目录

1 引言 (1)

1.1 课程设计目的 (1)

1.2 课程设计要求 (1)

1.3 课程设计平台 (1)

2 需求分析 (1)

2.1功能需求分析 (1)

2.2数据需求分析 (2)

2.3性能需求分析 (3)

2.4运行需求分析 (3)

3 设计原理 (3)

3.1 聊天程序的工作原理 (3)

3.2 TCP/IP协议 (5)

3.3 套接字编程原理 (6)

3.4 Eclipse开发环境 (7)

4 设计步骤 (8)

4.1 聊天室的总体设计 (8)

4.2 聊天室的模块 (9)

4.3 程序的调试 (11)

5 问题分析 (13)

总结 (15)

参考文献 (16)

1 引言

本课程设计主要是简单聊天程序的设计,使用MSN或QQ,分析聊天程序的功能需求及工作原理。该聊天程序能够支持多人聊天,聊天的内容可以仅仅支持文本信息,聊天程序包括服务器程序和客户端程序。

1.1 课程设计目的

该课程设计的目的主要是通过对简单聊天程序的设计及QQ原理的分析,了解聊天程序的功能需求及工作原理;熟悉TCP/IP协议以及套节字编程原理;熟悉Eclipse编程环境及Socket/ServerSocket编程方法。

1.2 课程设计要求

(1)按要求编写课程设计报告书,能正确阐述设计结果。

(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。

(3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

1.3 课程设计平台

课程设计中系统的开发平台为Eclipse,程序运行平台为Windows XP。

2 需求分析

2.1功能需求分析

(1)用户端之间的信息发送,本程序需要实现的最基本的功能。用户在界面上可以将自己需要发送的信息填入相应的对话框中,点击发送按钮后,可

以将信息正常的发送给相应的其它用户,这个过程中的客户端与客户端之间使用点对点发送信息,预计利用TCP/IP协议中的UDP协议,在本程序中共需要3个端口,此功能预计使用3号端口。

(2)在线用户主机IP列表的维护。在用户发送信息之前,需要选择相应的目的地端IP,这也就需要客户端拥有在线用户主机的IP地址,这个在线主机列表的维护是需要客户端定时自动向服务器端发送信息,服务器端收集并维护在线用户列表,再发送回客户端。需要在客户端和服务器端都使用定时器来完成此功能。此功能预计使用1、2号端口。

(3)在C/S模式中,服务器与客户端是相互依赖的。在客户端启用以后,需要查看服务器端是否在线,服务器在线才能正常使用客户端,如果服务器不在线,则在检测一定次数以后自动退出客户端程序。在使用过程中,客户端在指定时间内未向服务器端发送信息的,服务器认为客户端下线;客户端在一定时间内未收到服务器端信息的,认为服务器已经下线,则提示用户并建议退出,在用户一定时间后没有退出的则自动关闭客户端程序[1]。

2.2数据需求分析

(1)客户端之间聊天信息。在控件上显示时格式化,更易于用户的查看自己发送或接收到的信息。

(2)在线用户聊天信息。服务器端存放在适当的空间中,在发送给客户端时,对信息列表进行格式化,便于客户端提取信息。

(3)客户端向服务器端发送的确认在线信息。包括客户端刚刚启动时的初始化信息和在使用过程中的确认在线信息。

(4)其它程序内部可能需要设计的数据结构体。

2.3性能需求分析

(1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。在程序的设计过程中,要求能尽可能多的设想到用户使用过程中可能发生的事件,并能在判断事件后做出相应的处理,使程序具有较高的容错性能[2]。(2)宜操作性,程序简单易懂,容易上手使用。设计界面是,简化界面的复杂性,模拟QQ等现有即时通讯工具的界面,使用户能很容易看懂并使用。

(3)开发文档易理解,保证以后自己二次开发或他人接手开发时,能够清晰的理解整个系统的设计思路和实现细节。

(4)模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。

2.4运行需求分析

(1)用户界面

程序较小,启动速度快。可在网络中使用,有注册功能,需进行用户登录。启动后的应用界面要清爽,设计要简单明了,要具有较高的易用性。

(2)故障处理

在遇到可预知的故障与情况时,能提示用户并自动退出;在遇到不可预知的故障时能安全退出。

3 设计原理

3.1 聊天程序的工作原理

QQ聊天程序采用的是C/S通信模式,即客户/服务模式,它把一个应用划

相关文档
最新文档