文档介绍:Java课程设计报告————————————————————————————————作者:————————————————————————————————日期: JAVA网络编程课程设计报告局域网内的多功能聊天室的设计与实现院系:计算机科学与技术学院班级:设计者:学号:指导教师:设计时间:2010年2月5日--2010年2月13日哈尔滨工业大学(威海)二〇一〇年二月哈尔滨工业大学(威海)课程设计任务书姓名学号:院(系):计算机科学与技术学院专业:信息安全任务起止日期:课程设计题目:局域网内的多功能聊天室问题阐述与分析:网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。网络聊天是网络编程的典型应用之一,编写网络聊天软件对于学****网络编程无疑有着很大的帮助。本软件旨在为同一局域网用户间提供便利的局域网服务,局域网用户可以通过此聊天软件在各终端相互发送聊天信息,同时可以快速传送文件,方便局域网用户间的快速有效通信。工作量:程序总体整体框架界面设计用户登录模块设计用户列表模块设计文本聊天模块设计客户端及服务器端程序的整合工作计划安排:2010年2月5日至6日:查阅资料、需求分析、设计程序整体框架功能及界面2010年2月7日至10日:程序代码编写2010年2月11日至13日:程序整合、撰写报告一、引言本文围绕Java编程语言在网络编程方面的具体应用,论述了使用面向对象方法,对计算器程序进行需求分析、概要设计、详细设计,最后使用Java编程实现的全过程。在编程我们使用的java语言,是目前比较流行的编程语言。在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。二、:在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个局域网的网络聊天工具的;:寻找服务器登录能够实现点对点单聊能够实现群聊能够实现文件传输能够实现语音聊天能动态更新在线用户列表三、,服务器端维护各个客户端的信息。客户端的所有信息发往服务器端,再由服务器进行消息的分析处理并做出相应的控制,服务器端是所有信息的中心。服务器端可以查看所有用户的聊天记录,监控所有用户的状态,发出用户上线、离线提示等公告,客户端则提供接收公告的功能。本课程设计按照系统的具体功能要求,首先应用Socket编程创建客户端和服务器端,每多个客户端服务器端就会相因的创建一个线程,它们之间通过这个连接来实现数据通信;然后在客户端设置一个***,用于监听服务器发来的消息。并根据消息做出不同的动作。,在线用户之间的群聊。为了加强之间的信息交流,还实现了用户之间文件传输、语音聊天。在客户端和服务器端都可以查看历史消息、保存消息、清空消息。为了监控用户之间的状态,服务器还可以实现踢掉用户的功能,同时用户时间文件传输的信息都会在服务器上显示。)选择传输控制协议TCP,使用Java的Socket编程机制,分别建立客户端与服务器端、语音传输使用的是UDP控制协议;2)分别设计客户端与服务器端的界面,并使用Java应用程序用户界面的开发工具包Swing进行窗体界面的布局,以及实现部分窗口事件的相应。: 主要实现向各个客户端发布系统消息,接受来自客户端的各种信息并分别处理。具体功能如下:①连接控制: 包括启动服务器、断开服务器以及断开某个客户端的连接;②管理作用: 包括对参与聊天者的昵称进行修改以及向所有或某个客户端发送消息,维护一个IP地址和昵称所对应的哈希表,以便定位到正确的客户端,且有权强制修改用户昵称;③刷新列表: 在有用户登陆或离开的时候实时更新列表,并将信息反馈到各