1、 - 1 - 计算机网络课程设计报告计算机网络课程设计报告 学生姓名学生姓名 学学 号号 班班 级级 计算机计算机 0908 班班 指导教师指导教师 设计时间设计时间 2012.1.72012.1.10 - 2 - 目录目录 第一章第一章 设计目的、任务设计目的、任务 1.1 设计目的3 1.2 设计的任务 3 第二章第二章 系统分析设计系统分析设计 2.1 系统流程分析4 2.2 系统功能需求分析5 2.3 系统运行要求6 2.4 系统数据要求6 第三章第三章 系统实现系统实现 3.1 系统界面设计 7 3.2 系统功能模块设计9 第四章第四章 体会和建议体会和建议 - 3 - 第一章第一章
2、 设计目的、任务设计目的、任务 1.1 设计目的 1了解通信规范的细节及其实现。 2通过本次网络课程设计,掌握高级编程语言中对用户界面的设计方法, 以及多线程技术、基于 TCP/IP 的 Socket 通信的编程方法,同时能够把协议的设 计思想应用到实际中去。 1.2 设计的任务 编写一个聊天室, 实现 C/S 模式的会话。 基本要求可以完成群聊、 私人聊天, 实时发送和显示聊天信息,完成好友列表;进一步要求带表情,附件发送,聊天 信息的加密传送,设置黑名单等。学习通信编程 Socket 接口编程,使用 TCP 或 UDP 接口完成信息传送, 利用多线程技术实现服务器端的多个 TCP 连接的建
3、立。 网络聊天是网络编程的典型应用之一,编写网络聊天软件对于学习网络编程 无疑有着很大的帮助。 - 4 - 第二章第二章 系统分析设计系统分析设计 2.1 系统流程分析 该 C/S 模式的聊天系统,就是服务器来提供服务端连接响应,客户端主动的 发起连接请求。当多个用户同时连接到服务器时,经由服务器的接收与转发便可 以实现客户之间的通信。 因此,系统需要实现服务器端和客户端两部分程序。下图是基本的客户端连 接服务器的流程图。 对于整体系统的流程,也是分为两部分,即客户端的发起请求,服务器响应 请求。首先是客户端的登陆,客户端在登陆时,必须设置所想要连接的服务器, 然后客户端就会根据设置的服务器 IP 地址,向服务器发起建立连接请求。而服 务器端是始终在监听网络状态的,主要检测到有一个连接请求,那么服务器就会 给当前的发起端分配一个服务线程,用于处理它的各种请求。 对于客户端的各种请求,实际上都是通过在客户发往服务器的各种字符流区 分的,具体的方法就是在消息的头部以及尾部添加特殊字符串,从而实现服务器 Server Client 建立服务器 监听 socket 等待并接收 连接请求 创建 socket 向服务器发请求 接收请求后创建 socket 连接 InputStream OutputStream InputStream OutputSt