Java聊天室系统程序设计实验报告

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

Java聊天室系统程序设计

实验报告

院(系):信息与通信工程系

专业:计算机应用技术

班级:

学号:

姓名:

指导老师:

2013/6/8

目录

第一部分:系统设计总述 (2)

1.设计目的: (2)

2.设计总体要求: (2)

3.实现目的: (2)

第二部分:系统需求分析 (3)

1.系统任务描述 (3)

2.系统功能分析 (3)

3.系统可行性分析 (3)

第三部分:系统设计 (4)

1.系统总体结构设计 (4)

2.系统主体的处理流程 (5)

3.系统流程逻辑 (5)

第四部分:代码分析 (6)

1.服务器端部分代码 (6)

2.客户端部分代码 (6)

第五部分:系统的具体实现 (6)

界面设计 (6)

第六部分:小结 (10)

第七部分:参考文献 (10)

1.设计目的:

1.在开发技术和过程中,能够充分学习和使用JAVA的技术,进一步培养学生面向对象程序

设计的思想,加深对面向对象程序设计特性的理解。

2.学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全

过程。

3.进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、文件和网络输入

输出流编程、Java数据库编程等。

4.通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。

2.设计总体要求:

1.问题的描述与程序将要实现的具体功能。

2.程序功能实现的具体设计思路或框架,并检查流程设计。

3.代码实现。

4.程序测试。

5.设计小结(包括)

3.实现目的:

本软件是一个实用聊天程序。项目要实现以下目标:

1)建立服务器端和客户端并进行连接;

2)利用线程设计结构合理,运行效率较高的聊天室;

3)实现写消息,发消息,回复,查看聊天记录等功能;

1.系统任务描述

本系统是基于java开发的聊天室。如有用户聊天,服务器会显示出聊天信息。服务器端和客户端可以互相发送和接收信息,还可以查看聊天记录。如果服务器还没有启动,则客户端是不可以利用聊天室收发信息的。如果在运行过程中,服务器断开则系统会有提示。

2.系统功能分析

系统的功能需求

聊天室程序通常需要完成以下一些基本功能:

A.登录聊天室;

B.启动服务器;

C.关闭服务器;

D.用户之间的聊天;

E.退出聊天室。

3.系统可行性分析

从技术方面来看,java语言的优点主要表现在:简单、面向对象、多线程、安全性等方面。(1)简单性

Java实现了自动的功能收集,简化了内存管理的工作,这使程序设计更简便,同时减少了出错的可能。

(2)面向对象

Java提供了简单的类机制和动态的架构模型。对象中封装了它的状态变量和方法。很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用,又提供了一种动态的解决方案。

Java同样支持继承特性,java的类可以从其他类中继承行为,但java只支持类的单重继承,即每个类只能从一个类中继承。

Java支持界面,界面允许程序员定义方法但不立即实现,一个类可以实现多个界面,利用界

面可以得到多重继承的许多优点而又没有多重继承的问题。

(3)多线程

多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作。多线程保证了较高的执行效率。

(4)安全性

用于网络、分布环境下的java必须要防止病毒的入侵,java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。

第三部分:系统设计

系统设计是本系统开发的重要阶段,它直接影响目标系统的质量,是整个开发工作的核心。系统设计阶段主要任务是:在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型设计。

1.系统总体结构设计

2.系统主体的处理流程

3.系统流程逻辑

第四部分:代码分析

本系统的IP为本机的网络虚拟IP(127.0.0.1),在任何电脑上都能用,端口号设置为9000。注意:客户端只有在服务端开启的情况下才能正常聊天。

1.服务器端部分代码

public TestServer_zmx() //主构造方法及布局

ServerSocket ss=new ServerSocket(9000);//服务器建立端口号9000

Socket s1 = ss.accept();//服务器监听是否有连接

class MyAction implements ActionListener //处理发送按钮的类

class MyThreadWriter extends Thread //处理输出流类

class MyThreadRead extends Thread {//处理输入流读入类

class qingping implements ActionListener //处理清屏类

class xiaoxijilu extends JFrame implements ActionListener //处理消息记录类

2.客户端部分代码

public TestClient_zmx() //主构造方法及布局

Socket s1 = new Socket("localhost",9000);//建立与服务器的连接,为本地主机,9000号端口class MyAction1 implements ActionListener //处理发送按钮的类

class MyThreadWriter1 extends Thread //处理输出流类

class MyThreadRead1 extends Thread //处理输入流读入类

class qingping1 implements ActionListener //处理清屏类

class xiaoxijilu1 extends JFrame implements ActionListener //处理消息记录类

第五部分:系统的具体实现

界面是系统之间最直接的交互界面,界面的友好性体现了软件设计的质量,并在很大的程度上决定了软件是否成功。

界面设计

(1).服务器端的启动界面

相关文档
最新文档