多人聊天系统的设计与实现
- 格式:doc
- 大小:530.50 KB
- 文档页数:19
课程设计任务书
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)其它程序内部可能需要设计的数据结构体。