1、课程设计指导书 姓 名 学 号 班 级 一 班 课程名称 Java 课程设计 课程性质 设计时间 2010 年 11 月 4 日 2010 年 12 月 31 日 设计名称 聊天小程序 设计目的 本次课程设计是对前面学过的面向对象的编程思想以及编 程方法的一个总结、回顾和实践。开始设计前学生一定要 先回顾以前所学的内容,明确本次设计所要用到的技术点 并到网上搜索以及查阅相关的书籍来搜集资料。通过编写 一个基于 JAVA 的应用系统综合实例,来掌握 Java 语言编 程技巧。 设计要求 1、使用图形用户界面。 2、能实现一个聊天室中多人聊天。 3、可以两人私聊。 设计思路 与 设计过程 思路与原
2、理:服务器端接受客户端的连接请求,同时启动一个线程 处理这个连接,线程不停的读取客户端输入,然后把输入加入队列 中,等候处理。在线程启动的同时将线程加入队列中,以便在需要 的时候定位和取出。 过程:首先设计 ChatServer 服务端与 ChatClinet 客户端 1、 服务器(ChatServer),使用 ServerSocket 监听指定的端口, 端口可以随意指定(由于 1024 以下的端口通常属于保留端口, 在一些操作系统中不可以随意使用,所以建议使用大于 1024 的端口),等待客户连接请求,客户连接后,会话产生;在完 成会话后,关闭连接。 2、 客户端(ChatClinet),使
3、用 Socket 对网络上某一个服务器的 某一个端口发出连接请求,一旦连接成功,打开会话;会话完 成后,关闭 Socket。客户端不需要指定打开的端口,通常临时 的、动态的分配一个 1024 以上的端口。 (具体详细的过程步骤 及代码见下面) 计划与进度 计划在两个月内完成任务,首先在前半个月内(11 月 4 日-11 月 19 日) ,构思通过网上(图书馆)的知识与课本上的相关内容的了 解与认识,确认好选择的课题与怎样设计,基本的思路想好。十五 天(11 月 19 日-12 月 5 日)内参考资料争取完成服务端的程序, 在 12 月 5 日-12月 20 日完成客户端的程序设计, 在 12
4、月 20 日12 月 30 日内完成实现报告的填写工作。在 12 月 31 日全面完成整个 课题,并上交给老师。 任课教师 意 见 备 注 课程设计报告课程设计报告 课程: 学号: 姓名: 班级 教师: 时间 计算机科学与技术 设计名称:聊天小程序设计名称:聊天小程序 日期:日期: 2010 年 11 月 4 日 设计内容:设计内容:设计一个在图形界面下,实现一个聊天室中多人聊天,也可以私聊的聊天小程序 设计目的与要求:设计目的与要求:目的是为了更好的掌握 java 这门课程的内容,同时更好的理解与掌握 socket 编程, 对所有面向对象的编程思想以及编程方法的一个总结、 回顾和实践, 掌握
5、Java 语言编程技巧。 要求使用图形用户界面。 能实现一个聊天室中多人聊天。 可以两人私聊。 (提 示:使用 socket 通信)程序描述清晰准确,思路清晰,程序能够实现相应的功能。 设计环境或器材、原理与说明、主要完成的功能、设计思路和框图:设计环境或器材、原理与说明、主要完成的功能、设计思路和框图: 设计环境或者器材:j d k 或者 j c 编辑器,笔记本电脑两台,网线三条,小型交换机一个。 原理与说明: 建立服务端与客户端的一个或者多个连接, 其中服务器, 使用 Server Socket 监听指定的端口,端口可以随意指定(由于 1024 以下的端口通常属于保留端口,在一些操 作系统
6、中不可以随意使用,所以建议使用大于 1024 的端口),等待客户连接请求,客户连 接后,会话产生;在完成会话后,关闭连接。 客户端, 使用 Socket 对网络上某一个服务器的某一个端口发出连接请求, 一旦连接成功, 打开会话;会话完成后,关闭 Socket。客户端不需要指定打开的端口,通常临时的、动态 的分配一个 1024 以上的端口。 主要功能:1、实现服务端与客户端的连接,实现两者之间的信息交换。 2、实现了一个服务器可以与多个客户端实现连接,即实现了一个聊天室里面可 以多人聊天。 3、亦可以实现私聊的功能。 设计思路与框图:服务器端接受客户端的连接请求,同时启动一个线程处理这个连接,线程 不停的读取客户端输入,然后把输入加入队列中,等候处理。在线程启动的同时将线程加入 队列中,以便在需要的时候定位和取出。 大概的框图: chatServer 端 chatclient 端 创建 ServerSocket 对象在某 端口提供监听服务 等待来自 chartclient 的服务 请求 接受