编号:数学与计算科学学院创新性实验结题报告书实验题目:实验成绩(教师填写):学院:数学与计算科学学院专业:学生姓名:小组成员:指导教师:2011年04月15日一、实验目的及主要创新性点:目的:本次实验目的在于通过实践加深我们对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力
创新点:该实验程序实现局域网内的聊天功能,通过服务器端的消息转发,不仅实现了多用户之间的群聊,还可以和单个用户之间的私聊,完整了一个简单的网络聊天软件的功能
包括服务器端程序和客户端程序两部分
客户端程序:可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的信息
服务器端程序:可将消息发送到客户端和接受客户端发送来的信息二、实验要求:课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境
通过这次设计,要求掌握以下内容:1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用2)类、包、接口的定义与使用3)常用工具类与算法的实现(数组、向量、字符串、链表)4)Java常用标准GUI组件及其事件处理5)Java的异常处理机制6)Java的数据库连接技术7)Java的多线程技术与动画制作8)Java的网络编程三、实验原理:本程序设计为两个部分:服务器(ChatRoomServer)和客户端(ChatRoom)聊天的关键在于要将客户端发送过来的消息分发给其他客户端,为了解决这个问题,在服务器程序中建立一个套接口链表,用来保存所有与客户端建立了连接的服务端口
下面描述了聊天的实现原理:当客户端ClientN向对应的服务端口N发送了消息Message,服务端口N将Message复制给所有套接口列表(USERLIST)中的套