1、 摘摘 要要 本课程设计主要是设计并实现一个简单的多人聊天程序,该聊天程序能够 支持多人聊天,聊天的内容可以仅仅支持文本信息,聊天程序包括服务器程序 和客户端程序。在课程设计中系统的开发平台为 Eclipse 程序运行平台为 Windows XP。 关键词关键词:聊天程序;服务器;客户端;Eclipse 目目 录录 1 课题描述课题描述错误错误!未定义书签。未定义书签。 2 设计过程设计过程 2 2.1 服务器模块 3 2.2 客户端模块 3 2.3 信息处理模块 4 2.4 源代码 4 3 测试测试 11 总结总结 13 参考文献参考文献 14 第 1 页 共 14 页 1 1 课题描述课题
2、描述 随着社会发展,Internent 的迅速普及,人们对实时通信的要求越来越迫切, 需求日益增加,网络聊天已经成为了一大时尚,不少人都有这样的经历。客户客 户端/服务器模式是一种能够在基于网络环境的分布处理过程中,使用基于连接 的网络通信模型。该通信模型首先在客户机和服务器之间定义一套通信协议,并 创建一个 Socket 类,利用这个类来建立一条可靠的链接;然后,客户端/服务器 再在这条连接上可靠地传输数据。客户端发出请求,服务器发出请求,服务器监 听来自客户机的请求,并为客户端提供相应服务。客户/服务模式可靠性高、采 用模块化设计所以它的优势很明显。是现代通信不可或缺的一部分。 本课题主要
3、是通过对简单聊天程序的设计及 QQ 原理的分析, 了解聊天程序 的功能需求及工作原理;熟悉 TCP/IP 协议以及套节字编程原理;熟悉 Eclipse 编程环境及 Socket/ServerSocket 编程方法。 开发工具: Eclipse 第 2 页 14 页 2 2 设计过程设计过程 聊天室的总体设计过程比较简单主要是构建设计框图。就是当客户端发出 信息时,我们将数据写到 socket,当对方有数据到达时,我们从 socket 读出来 并显示给客户。程序关键在于如何监听到有信息到达的过程。应用程序流程图 如下图所示,开始是先创建主窗口,然后初始化窗口,程序下面才开始消息循 环处理。如果没
4、有消息循环的活,直接结束掉这个程序。如果有循环的话,要 判断这个窗口消息的内容是哪种类型,然后再进行选择处理方式。流程图如图 2-1 所示 开始 创建窗口 初始化 判断窗口消息 判断命令 Bind Listen 分别处理各种 Socket消息 connect 创建控件 SOCKET 连接 CREAT 继续消息循环 Yes COMMAN 侦听 结束处理 结束 NO 图图 2 2- -1 1 服务器模块图服务器模块图 第 3 页 14 页 2.12.1 服务器模块服务器模块 聊天室主要包括三个模块,服务器模块、客户端模块、信息处理模块。该 聊天室可以支持多人聊天,只支持文本信息。 服务器模块所包含的函数模块如下图所示 图图 2 2- -2 2 服务器模块图服务器模块图 2.22.2 客户端模块客户端模块 客户端所包含的函数模块如下图所示 图图 2 2- -3 3 客户端模块图客户端模块图 第 4 页 14 页 2.32.3 信息处理模块信息处理模块 信息处理模块包括注册信息及登录信息的处理模块,其所包含的函数模块 如下图所示 图图 2 2- -4 4 信息处