logo资料库

计算机网络课设 局域网聊天程序.doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
第1章 需求分析
1.1课程设计目的
1.2开发环境与开发平台
第2章 总体设计
2.1总体设计概念
2.2系统功能
2.3系统架构
2.4 模块划分
第3章 详细设计
3.1软件层次模型
3.2数据流程图
第4章 系统实现编码及运行结果
4.1服务器程序
4.2客户端程序
4.3功能函数
第5章 总结
参考文献
课程设计说明书(论文) 课程名称 计算机网络课程设计 题 专 学 目 软件聊天程序 业 软件工程 班 级 0701 号 0711010411 姓 名 夏琎 起止日期 2010-6-07————2010-6-18 指导教师 赵新慧 成 绩 辽宁石油化工大学计算机与通信工程学院
摘要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开 网络,由此而产生的聊天工具越来越多,类似 QQ、网络聊天时一类的聊 天系统的发展日新月异。因此,基于我们实际的知识结构构成以及网络 聊天在当今时代的盛行趋势,本课程设计小组选择了课程设计题目点对 点数据交换(P2P),用于实现基于服务器转发的任意多点间的数据共享 与交换。 关键词:P2P、局域网聊天、趋势,交流,便捷 In network is more and more flourishing today, people more and more depending on the Internet, network, which can produce more like chatting tools, QQ, network chat when chatting system of rapid development. Therefore, based on our actual knowledge structure and network chat in the popular trend in modern times, this course design team chose curriculum design topic peer-to-peer (P2P) data exchange, to realize the arbitrary points based on server forwarding data sharing and exchange. Keywords: P2P, network chat, trends, convence ,communication
目 录 第 1 章 需求分析.......................................................................................... 4 1.1 课程设计目的................................................................................... 4 1.2 开发环境与开发平台....................................................................... 4 第 2 章 总体设计.......................................................................................... 4 2.1 总体设计概念................................................................................... 4 2.2 系统功能........................................................................................... 4 2.3 系统架构........................................................................................... 5 2.4 模块划分.......................................................................................... 5 第 3 章 详细设计.......................................................................................... 6 3.1 软件层次模型................................................................................... 6 3.2 数据流程图....................................................................................... 7 第 4 章 系统实现编码及运行结果.............................................................. 8 4.1 服务器程序....................................................................................... 8 4.2 客户端程序..................................................................................... 13 4.3 功能函数......................................................................................... 15 第 5 章 总结................................................................................................ 18 参考文献...................................................................................................... 19
第 1 章 需求分析 1.1 课程设计目的 本次计算机网络课程设计,旨在通过该课程设计,使学生了解、掌 握 TCP、UDP 协议的原理;了解、掌握 Socket 编程的方法;了解、掌握 应用协议设计的思想;利用 Winsock API 或者 Java Socket API 编制一 个能部署在 Internet 上的点对点数据交换(P2P)、HTTP/FTP 服务器系 统、共享白板。 1.2 开发环境与开发平台 鉴于作为目前 Internet 上最为流行的编程语言之一 Java 语言对网 络通信提供了全面的支持,并且由于 Java 语言的网络特性,与其他语 言相比,使用 Java 编写网络通信程序变得非常简单和便捷,本课程小 组选择了 Java Socket API 来编制这个能够部署在 Internet 上的点对 点数据交换(P2P),整个程序是基于 Windows 2000/XP 平台,使用可扩 展的免费开放源代码集成开发环境 eclipse,在 JDK6.0 环境下开发出来 的。 第 2 章 总体设计 2.1 总体设计概念 为实现网络聊天的功能,采用 Java Socket 编程,服务器与客户端 采用了 TCP/IP 连接方式,在设计聊天方案时,实行将所有信息发往服 务器端,再由服务器进行分别处理的思路,服务器端是所有信息的中心。 服务器端可以查看所有用户的聊天记录,监控所有用户的状态,发 出用户上线提示等公告,客户端则提供接收公告的功能。 2.2 系统功能 本课程设计按照实验的具体要求,首先应用 Socket 编程创建客户端 和服务器端,它们之间通过一个交互的连接来实现数据通信;然后在客
户端 设置一个监听器,用于监听服务器发来的消息。 2.3 系统架构 1)选择传输控制协议 TCP,使用 Java 的 Socket 编程机制,分别建 立客户端与服务器端; 2)分别设计客户端与服务器端的界面,并使用 Java 应用程序用户 界面的开发工具包 Swing 进行窗体界面的布局,以及实现部分窗口事件 的相应。 2.4 模块划分 1)服务器端,主要实现向各个客户端发布系统消息,接受来自客户 端的各种信息并分别处理。具体功能如下: ①连接控制: 包括启动服务器、断开服务器以及断开某个客户端 的连接; ②管理作用: 包括对参与聊天者的昵称进行修改以及向所有或某 个客户端发送消息,维护一个 IP 地址和昵称所对应 的哈希表,以便定位到正确的客户端,且有权强制 修改用户昵称; ③刷新列表: 在有用户登陆或离开的时候实时更新列表,并将信 息反馈到各个客户端; ④登陆信息: 检查用户是否已登陆,如登录,发消息通知所有用 户。同时刷新在线用户列表; ⑤聊天记录: 能保存聊天记录,实现消息的保存、清空以及查看 等功能; ⑥消息处理: 解析客户端与服务器端的消息交互类型,并做出相 应处理,能够找到消息所对应的接收端。 2)客户端:主要实现向服务器端发布消息,并且对来自服务器的消 息做出相应的响应。具体功能如下: ①连接功能: 输入服务器地址,实现登录及断开功能 ②登录设置: 登录时,发送消息使服务器端获得相关登录信息,
昵称及 IP 地址记录到服务器端维持的哈希表,断开 后发送消息使 IP 地址及昵称从哈希表中删除; ③监听作用: 实现对服务器发送过来的消息进行监听的功能; ④消息处理: 接收由服务器端发送来的信息,并做出相应的响应; ⑤聊天记录: 实现聊天记录的保存、清空以及查看等功能; ⑥消息处理: 相应从服务器端接收到的消息交互类型,实现用户 与用户之间的信息交互和文件交互; 第 3 章 详细设计 3.1 软件层次模型 服务器层次结构: 客户端层次结构:
3.2 数据流程图 根据以上的程序模块划分,设计好服务器端和客户端的流程图,如 下: ①服务器端流程: ②客户端流程图:
第 4 章 系统实现编码及运行结果 4.1 服务器程序 //Server.java import java.net.*; import java.io.*; import java.awt.List; import java.util.ArrayList; import java.util.Hashtable; import java.awt.Color; import javax.swing.JOptionPane; public class Server extends Thread { ServerSocket server=null; List onLineUsersList=null; List chatContentList=null; ArrayList onLineUsers=new ArrayList(); ArrayList chatContent=new ArrayList();
分享到:
收藏