1、 本 科 课 程 设 计 课程设计题目:课程设计题目: 简单的简单的网络聊天程序网络聊天程序 课程设计报告 1.1.设计目的:设计目的: 课程设计题目:简单的网络聊天程序 目的与任务: 目的:熟悉网络编程的知识和技能,掌握 Socket 编程的方法。 任务:完成网络聊天程序的编制与调试。 要求: 1.分析聊天程序的功能需求。 2.采用自己熟悉的开发环境和语言完成设计任务,如:Java、C+、Visual Basic、SQL server 等。 3.课程设计报告内容包括, 课程设计的目的、 设计任务、 要求、 设计说明书。 4.设计说明书包括:需求分析、概要设计、详细设计。 5.设计成果包括:主
2、要运行界面、主要代码、测试结果、总结、参考资料。 总体设计: (聊天室所包含的功能模块) 客户端及服务器端程序的整合 用户列表模块设计 文本聊天模块设计 程序界面设计 群聊 工作安排: 利用网络程序编程来完成这一次课程设计,并且用到多线程和图形界面处理,最 后完成课程设计报告。 提交内容: 每位同学提交书面设计报告一份(每人一份) 程序源代码 批语: 成绩: 2014 年 9 月 1 日 序言序言 1.1 背景背景 在当今的信息时代,越来越多的聊天工具被应用 ,Java 语言是当今流行 的网络编程语言,它具有面向对象、与平台无关、安全、多线程 等特点。使用 Java 语言不仅可以实现大型企业级
3、的分布式应用系统,还能够为小型的、嵌入 式设备进行应用程序的开发。面向对象的开发方法是当今世界最流行的开发方 法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步 巩固课堂上所学到的知识, 深刻把握 Java 语言的重要概念及其面向对象的特性, 锻炼我们熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了 Java 程序设计课程设计。 此次课程设计的题目为简单的聊天室,通过做巩固所学 Java 语言基本知 识,增进 Java 语言编辑基本功,掌握 JDK、JCreator 等开发工具的运用,拓宽 常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融
4、会贯通,全面掌握 Java 语言的编程思想及面向对象程序设计的方法,为今后从 事实际工作打下坚实的基础。 1.2 相关技术相关技术 CPU:Pentium 2.8GHz 以上 内存:256MB 以上 硬盘空间:80G 以上 操作系统:Windows7 运行环境:eclips 2. 程序设计与实现程序设计与实现 2.1 需求分析需求分析 Java 是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的, 结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java 去掉了 C+语言的许多功能,如:指针运算、结构、typedefs、#define,让 Java 的语 言功能很精炼,并增加
5、了一些很有用的功能,如自动收集碎片。这将减少平常出 错的 50%。而且,Java 很小,整个解释器只需 215K 的 RAM。 因此运用 JAVA 程序编写聊天室,实现简单聊天功能。本次课程设计做的是 Java 简单聊天室,它是图形界面、线程、流与文件等技术的综合应用,其界面 主要采用了 java.awt 包,javax.swing 包等。 程序实现了聊天室的基本功能, 其中有: (1)启动服务器:实现网络的连接,为注册进入聊天室做准备。 (2)启动客户端:实现网络的链接,可以进行正式的聊天 (3)发送信息:为用户发送信息提供平台。 (4)离开界面:使用户退出聊天室。 (5)关闭服务器:断开与
6、网络的连接,彻底退出聊天室。 2.2 系统整体设计系统整体设计 图 1 程序基本框图 2.3 2.3 代码实现代码实现 3.3.系统详细设计:系统详细设计: 客户端:客户端: package 课程设计; import java.awt.*; import java.awt.event.*; import .*; import java.io.*; import javax.swing.JOptionPane; public class TClient 启动服务器 注册界面 发送信息 (用户 A) 发送信息 (用户 B) 发送信息 (用户 C) 关闭服务器 public static void main(String args) new TCPClient().launch(); class TCPClient private TextArea ta = null; private TextField tf = null; private Button bn = null; private DataInputStr