1、 简单聊天程序的设计与实现简单聊天程序的设计与实现 摘摘 要要 本课程设计主要是设计并实现一个简单的聊天程序,该聊天 程序能够支持多人聊天,聊天的内容可以仅仅支持文本信息,聊天程 序包括服务器程序和客户端程序。在课程设计中系统的开发平台为 Eclipse 程序运行平台为 Windows XP。 关键词关键词:聊天程序;服务器;客户端;Eclipse 1 1 引引 言言 本课程设计主要是简单聊天程序的设计,使用 MSN 或 QQ,分析聊 天程序的功能需求及工作原理。该聊天程序能够支持多人聊天,聊天 的内容可以仅仅支持文本信息,聊天程序包括服务器程序和客户端程 序。 1.1 1.1 课程设计目的课
2、程设计目的 该课程设计的目的主要是通过对简单聊天程序的设计及 QQ 原理 的分析,了解聊天程序的功能需求及工作原理;熟悉 TCP/IP 协议以及 套节字编程原理;熟悉 Eclipse 编程环境及 Socket/ServerSocket 编 程方法。 1.2 1.2 课程设计要求课程设计要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和 团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内 容。 1.3 1.3 课程设计平台课程设计平台 课程设计中系统的开
3、发平台为 Eclipse, 程序运行平台为 Windows XP。 2 2 需需 求求 分分 析析 2.12.1 功能需求分析功能需求分析 (1)用户端之间的信息发送,本程序需要实现的最基本的功能。 用户在界面上可以将自己需要发送的信息填入相应的对话框中,点击 发送按钮后,可以将信息正常的发送给相应的其它用户,这个过程中 的客户端与客户端之间使用点对点发送信息, 预计利用 TCP/IP 协议中 的 UDP 协议,在本程序中共需要 3 个端口,此功能预计使用 3 号端口。 (2)在线用户主机 IP 列表的维护。在用户发送信息之前,需要 选择相应的目的地端 IP,这也就需要客户端拥有在线用户主机的
4、 IP 地址,这个在线主机列表的维护是需要客户端定时自动向服务器端发 送信息,服务器端收集并维护在线用户列表,再发送回客户端。需要 在客户端和服务器端都使用定时器来完成此功能。此功能预计使用 1、 2 号端口。 (3)在 C/S 模式中,服务器与客户端是相互依赖的。在客户端启 用以后,需要查看服务器端是否在线,服务器在线才能正常使用客户 端,如果服务器不在线,则在检测一定次数以后自动退出客户端程序。 在使用过程中,客户端在指定时间内未向服务器端发送信息的,服务 器认为客户端下线;客户端在一定时间内未收到服务器端信息的,认 为服务器已经下线,则提示用户并建议退出,在用户一定时间后没有 退出的则自动关闭客户端程序 1。 2.22.2 数据需求分析数据需求分析 (1)客户端之间聊天信息。在控件上显示时格式化,更易于用户 的查看自己发送或接收到的信息。 (2)在线用户聊天信息。服务器端存放在适当的空间中,在发送 给客户端时,对信息列表进行格式化,便于客户端提取信息。 (3)客户端向服务器端发送的确认在线信息。包括客户端刚刚启 动时的初始化信息和在使用过程中的确认在线