




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计指南姓名字宣洪东万学习数字班级水平一个班级课程名称Java课程设计课程的性质设计时间2010年11月4日 2010年12月31日设计名称聊天小程序设计目的本课程设计是对以前学到的面向对象编程思想和编程方法的总结、回顾和实践。在开始设计之前,学生必须首先复习他们以前学过的内容,确定设计中要使用的技术要点,并在线搜索和查阅相关书籍来收集数据。通过编写一个基于Java的应用系统的综合实例,我们可以掌握JAVA语言的编程技巧。设计要求1.使用图形用户界面。2.它可以在聊天室实现多人聊天。3、两个人可以私下交谈。设计理念和设计过程思路和原则:服务器接受来自客户端的连接请求,同时启动一个线程来处理连接。线程不断从客户端读取输入,然后将输入添加到队列中等待处理。在线程启动的同时,该线程被添加到队列中,以便在需要时被定位和获取。流程:首先设计ChatServer服务器和ChatClinet客户端1.服务器(ChatServer)使用ServerSocket来监视指定的端口,该端口可以随意指定(由于1024以下的端口通常是保留端口,在某些操作系统中不能随意使用,建议使用大于1024的端口),等待客户端连接请求,会话将在客户端连接后生成;完成会话后,关闭连接。2.客户端(ChatClinet)使用套接字向网络上服务器的端口发送连接请求。一旦连接成功,会话就会打开。会话完成后,关闭套接字。客户端不需要指定开放端口,通常会临时动态分配超过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编程,总结、回顾和实践所有面向对象的编程思想和编程方法,掌握Java语言编程技巧。需要图形用户界面。可以实现多人在聊天室聊天。我们可以私下谈谈。(提示:套接字通信)程序描述清晰准确,思路清晰,程序可以实现相应的功能。设计环境或设备、原理和描述、主要功能、设计思路和框图:设计环境或设备:j d k或j c编辑器,两台笔记本电脑,三根网线和一个小交换机。原则和描述:在服务器和客户端之间建立一个或多个连接。服务器使用服务器套接字来监视指定的端口,并且可以随意指定该端口(由于1024以下的端口通常是保留端口,在某些操作系统中不能随意使用,因此建议使用大于1024的端口)。等待客户端连接请求,会话将在客户端连接后生成。完成会话后,关闭连接。客户端使用Socket向网络上服务器的端口发送连接请求,并在连接成功后打开会话;会话完成后,关闭套接字。客户端不需要指定开放端口,通常会临时动态分配超过1024个端口。主要功能:1。连接服务器和客户端,并在它们之间交换信息。2.一个服务器可以连接多个客户端,即一个聊天室可以用来与多人聊天。3、还可以实现私人聊天的功能。设计思想和框图:服务器接受来自客户端的连接请求,同时启动一个线程来处理连接。线程不断从客户端读取输入,然后将输入添加到队列中,等待处理。在线程启动的同时,该线程被添加到队列中,以便在需要时被定位和获取。总框图:聊天服务器端聊天客户端端在中创建服务器套接字对象该端口提供监听服务正在等待chartclient的服务请求接受chartclient的请求,并通过建立连接创建Socket对象来监视服务器。返回的套接字连接建立请求数据通信是通过在套接字中读写数据以及在新的套接字中读写数据来实现的。与chartclient和服务器的通信关闭套接字端和当前断开连接关闭套接字端与服务器的通信客户的通信等待其他请求。关闭服务器套接字对象结束监控服务设计过程(步骤)或程序代码(可添加页面):主代码:服务器ChatServerclass socketthreadextendthreadthread /线程类用于与每个客户端连接静态矢量客户端矢量=新矢量();/存储每个线程的信息私有套接字;/存储每个线程的套接字对象字符串缺口;/存储每个线程的昵称private boolean firstRead/用于判断是否第一次收到数据套接字线程(套接字)/构造函数socket=s;nick=nullfirstRead=真。私有空通知用户()/通知客户端所有线程,此用户退出字符串msg= # # # this.nick对于(int I=0;I=clientVector.size()/昵称不存在:尼克=味精;/将此线程信息添加到客户端向量你的昵称:/并通知客户端所有线程,该用户进入noticedDuser();/并请求其他用户信息client vector . add(this);RequestAllUser();firstRead=false。否则消息=#您输入的昵称已经存在,请重新输入:;/昵称存在,发送系统提示返回消息;if(msg.startsWith(!)=true)/如果客户端发送秘密语言name=msg.substring(1,msg . Index of();/获取目的用户的昵称并生成发送信息TempMsg=this.nick 小声对name : r n t msg . substring(msg . index of();否则tempMsg=this . nick : r n t msg;/如果我们都在聊天name= c2a 05631 a7 bcbae 36 ee 6 ;/此名称是一个特殊值,表示所有聊天if(name . equals( c2a 05631 a7 bcbae 36 ee 6 )=false)/if它是一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit7WhenTomorrowComesperiod4SectionB(1a-1e)教学设计(表格版)人教版英语八年级上册
- 针灸疗法在疼痛管理中的应用-1
- 司法防灾宣传知识培训课件
- 消防调研面试题目及答案
- 新解读《GB-T 24838-2018 1100kV高压交流断路器》
- 外贸海关面试题目及答案
- 化妆品生产入门知识培训
- 临沂兰山中考数学试卷
- 灵山一中初一数学试卷
- 机构调试基础知识培训课件
- 2025年湖南电焊考试题库
- 2025年云南高考历史试卷解读及备考策略指导课件
- 沥青混凝土供货方案及保障措施
- 检验标准管理办法
- 2025年自考毛概考试试题及答案
- 2025-2026教科版科学三年级上册详细教学计划
- 2025即时零售行业规模消费场景及头部平台美团京东淘宝对比分析报告
- 安徽省安庆市2024-2025学年七年级下学期6月期末数学试卷(含详解)
- 2025至2030立体车库行业市场深度调研及发展趋势与发展趋势分析与未来投资战略咨询研究报告
- 医院智慧管理分级评估标准体系(试行)-全文及附表
- 备品备件替代管理办法
评论
0/150
提交评论