java课程设计聊天小程序解析_第1页
java课程设计聊天小程序解析_第2页
java课程设计聊天小程序解析_第3页
java课程设计聊天小程序解析_第4页
java课程设计聊天小程序解析_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计指南城堡名字善洪洞完形生学习号码班等级一个班学科课程名称Java课程设计课程属性设计时间2010年11月4日 2010年12月31日设计名称聊天小程序设计目的本课程设计是前面学习的面向对象编程思想和编程方法的总结、回顾和实践。在开始设计之前,学生们必须复习以前学过的内容,明确本设计所需的技术事项,在线搜索,找到相关书籍,收集资料。通过创建基于Java的应用程序系统的全面实例,掌握JAVA语言编程技能。设计要求1、使用图形用户界面。在聊天室里很多人可以聊天。两个人可以聊天。设计想法哇设计过程想法和原则:服务器端接受来自客户端的连接请求,同时启动线程,线程继续读取客户端输入,将输入排队,等待处理。线程在启动过程中添加到队列中,必要时可以查找和删除线程。进程:首先设计ChatServer服务器和ChatClinet客户端1、使用服务器(ChatServer)、服务器套接字接收指定端口,可以随意指定端口(1024以下的端口通常属于保留端口,因此建议使用大于1024的端口,因为在某些操作系统中不能随意使用),等待客户连接请求,在客户连接后创建会话;完成会话后,关闭连接。2、使用客户端(ChatClinet)、Socket对网络中一台服务器的其中一个端口发出连接请求,并在连接成功时打开会话;会话完成后,关闭套接字。客户端不需要指定开放端口,通常会临时动态分配1024个或更多端口。(有关详细的流程步骤和代码,请参阅以下内容)计划和进展计划在两个月内完成任务,首先想在整个(11月4日-11月19日)讨论网络(图书馆)的知识和通过教科书相关内容的理解和认识、好的选择课题和设计方法以及基本的想法。见15日(11月19日-12月5日)内服务交付程序,12月5日-12月20日完成客户端编程,12月20日-12月30日内完成报告。12月31日完成了全部作业,交给老师。林和教师意见非州课程设计报告课程:学号:名称:上课教师:时间计算机科学和技术设计名称:聊天小程序日期:2010年11月4日设计内容:设计可让多人在聊天室聊天和聊天的图形界面设计目的和要求:在掌握Java语言编程技术的同时,更好地理解和掌握套接字编程,旨在对所有面向对象的编程理念和编程方法进行总结、审查和练习。需要图形用户界面。聊天室里可以有很多人聊天。两个人可以聊天。(提示:使用socket communications)程序可以清晰准确的说明,清晰的思维方式,在程序中执行适当的功能。设计环境或设备、原理和说明、主要功能、设计理念和方框图:设计环境或设备:j d k或j c编辑器,2台笔记本电脑,3条网线,1台小型交换机。原则和说明:使用服务器套接字接收指定端口,建立一个或多个服务器和客户机连接,可以任意指定端口(建议使用大于1024的端口,因为1024以下的端口通常是保留端口,因此在某些操作系统中不能随意使用),等待客户连接请求,在客户连接后创建会话;完成会话后,关闭连接。使用套接字(Socket)向网络中一台服务器的端口发出连接请求,如果连接成功,则打开会话。会话完成后,关闭套接字。客户端不需要指定开放端口,通常会临时动态分配1024个或更多端口。主要功能:1,实现服务器与客户端之间的连接,并实现两者之间的信息交换。2、实现了多个客户端,即可以在聊天室中多人聊天的服务器。3、还可以实现个人聊天功能。设计理念和方框图:服务器端接受客户机的连接请求,线程继续读取客户机输入,将输入排队,等待处理。线程在启动过程中添加到队列中,必要时可以查找和删除线程。近似方块图:ChatServer端chatclient端/不/不/不在中创建ServerSocket对象端口提供监听服务在Chartclient上等待服务请求通过接受来自Chartclient端的请求建立连接,创建从Socket对象到server的侦听器返回的Socket设置端口请求数据通信是通过向套接字中读写数据来实现的与Chartclient端通信以与服务器端通信套接字结束结束与当前拆除连接的结束套接字结束与服务器的通信客户端的通信正在等待另一个请求退出ServerSocket对象以退出监听服务设计过程(阶段)或程序代码(可以添加页面):主要代码:服务器服务器用于连接到每个客户端的class socket thread extends thread /线程类static vector client vector=new vector();/存储每个线程信息private socket插槽;/存储每个线程的Socket对象String nick/存储每个线程的别名Private boolean firstRead/用于确定是否是第一次接收数据套接字线程/构造函数套接字=s;Nick=nullFirstRead=truePrivate void noticeDelUser()/通知所有线程的客户端的用户退出String msg= # # # this.nickfor(int I=0);I=clientVector.size()/如果没有别名,则为:Nick=msg/将此线程信息添加到clientVectorMsg=#使用的别名: msg/通知所有线程的客户端,并且此用户notice adduser();/和其他用户信息请求client vector . add(this);RequestAllUser();FirstRead=falseElseMsg=#输入的别名已存在。请重新输入:;/具有别名,发送系统提示Return msgIf(msg.startsWith(!)=true)/如果客户端发送密码短语Name=msg。substring (1,msg .index of();/导入目标用户别名以生成传输信息TempMsg=this.nick 悄悄地对 name 说: r n t msg。substring (msg .index of();Elsetemp msg=this . nick : r n t msg;/对于所有聊天name= c2a 05631 a 7 bcbae 36 ee 6 ;/此name是特殊值,表示所有聊天if(name . equals( C2 a 05631 a 7bcb ae36 ee 6 )=false)/密码短

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论