1、 1 网络编程课程设计报告网络编程课程设计报告 题题 目目: : 简单聊天室设计简单聊天室设计 院院 系:系: 专业班级:专业班级: 学学 号:号: 学生姓名:学生姓名: 指导教师:指导教师: 2016 年年 1 月月 6 日日 2 1.1.引言引言 1)1) 本课题的来源本课题的来源 随着网络普及和上网人数的大增,在国内各大门户网站都架设了大型聊天室。如: 新浪聊天室、中华网社区聊天室、搜狐等都成为网民们的热门聊天室。以新浪聊天室为 例看,聊天室呈现积聚人气作用,并开设不同主题的聊天室以使网民们具有针对性的使 用聊天室。 本人计划设计一个实现基于 Java 语言的聊天室的 Windows 网
2、络编程,启动服务器 后,客户端运行,向服务器端发出请求,连接成功后,会弹出一个聊天室的界面,该界 面有私聊(可加入生动的表情描述) 、群聊、发送文件等功能,客户可以根据自己的需 要选择不同的功能。具体任务是实现文件的接收功能,启动服务器监听后,接收客户端 发来请求,安排线程接收对方发来的文件(例如文档、照片、音乐、电影等)并存入指 定的文件夹中。 2 2)本系统涉及的知识点)本系统涉及的知识点 1、套接字 Socket 的建立、连接、关闭,客户端和服务器端的输入/输出流的连接。 2、Java 中的多线程及线程的常用方法、Runnable 接口。 3、基于 SWING 的图形用户界面设计:布局设
3、计、文本组件、按钮与标签组件、列表组 件等。 4、InetAddress 类。 5、输入/输出流:文件、文件字节流、文件字符流、缓冲流、数据流。 3 3)功能要求)功能要求 (1)在服务器端和客户端分别创建一个套接字对象,通过输入输出流连接在一起。套接 字调用 close()方法关闭双方的套接字连接。 (2) 使用多线程处理套接字连接, 把服务器端或客户端读取的数据放在一个单独的线程 中去进行, 防止服务器端或客户端读取数据可能引起的堵塞。 服务器端收到一个客户的套接 字后,应该启动一个专门为该客户服务的线程。 (3) 成功连接后, 在图形界面中用户可以根据自己的需要进行不同的操作, 如: 群
4、聊天、 和某一个用户单独聊天(可加入生动的表情描述) 、发送文件等。在界面中会显示用户的聊 天记录。 3 4 4)开发环境的选择)开发环境的选择 在进行开发之前,首先决定的第一个问题就是,该使用什么开发环境来编写该 系统?以目前常用的开发语言来讲有 C/C+、.NET 技术,JAVA、 Visual Basic 几种。还有 Eclipse,、Borland JBuilder 等,这些并不是程序语言,而是程序 语言在建构程序时的“集成开发工具”, 不过它们在开发设计的过程中也占有相 当重要的角色,因为选用正确的集成开发工具,可以加速程序设计的进行、测试 与排错,因而对整体进度具有决定性的影响。 基于以下几点,选择 JAVA 语言开发技术。 1、就执行平台而言,必须考虑的问题之一是用户可能使用的操作系统。用 户可能使用的是 Windows Linux。JAVA 语言具有平台无关性,可以不需要任何 修改就可以运行在支持 JAVA 的任何计算机上。 2