基于net的在线聊天系统毕业论文(编辑修改稿)内容摘要:
Server 服务器 数据库 第 2章 相关技术概述 4 辖的网络服务,其名字空间 System. Net 和 System. Net. Sockets 包含丰富的类可以开发多种网络应用程序。 其实, Socket 可以象流 Stream 一样被视为一个数据通道,这个通道架设在应用程序端(客户端)和远程服务器端之间,而后,数据的读取(接收)和写入(发送)均针对这个通道来进行。 SQL Server 2020概述 SQL Server 是一个关系数据库管理系统。 SQL Server 2020 的特性有: 1. Inter 集成 ; 2.可伸缩性和可用性 ; 3. 企业级数据库功能 ; 4. 易于安装、部署和使用 ; ADO. NET技术 ADO. NET 是在. NET Framework 平台中负责数据存储的对象。 ADO. NET 建立在如 XML 的业界的基础之上,就像 ADO,它提供了一个数据访问接口,以便和 OLE DB 兼容的数据源进行通信,如 SQL Server 或 Oracle.应用程序可以使用 ADO. NET 连接这些数据源,并检索,处理和更新数 据。 使用 ADO. NET 最重要的理由是可以获取一个真正断开连接的数据体系结构和 XML 的紧密集成和一个通用的数据表示法,可以将各种不同数据源中的数据组合起来,并优化了和数据库交互的功能。 第 3章 需求分析 5 第 3章 需求分析 3. 1 系统需求分析 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。 对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的系统只会令用户失望,给开发者带来烦恼。 网络聊天的出现,最初是源于人们对远程通信、远程帮助的需求发展到现在的 远程群聊、远程教育、远程控制以及语音聊天和视屏聊天。 在传统的聊天中,要求人们面多面的聊天近距离的的沟通。 虽然可以通过电话进行远程没接触式的聊天,但是这种聊天费用高昂,对于对身体的健康也有一定的影响而且电话聊天对于偏远地区效果并不好,在当今如此快节奏的生活中,在高速发展的信息经济中,用户没能在恰当的时间通过交流接受到自己有用的信息是常有发生的事情。 这对于用户的日常生活会产生极大影响,用户希望可以根据自己的时间和安排进行方便的信息交换,不必遵守传统的聊天时间机制,可以随时随地的联系、表述自己的想法与朋友进行感情 的交流。 并且随着网络技术的不断发展,人们越来越习惯于利用网络来实现所需的服务,网络信息经济时代的来临,因此,建立一个基于网络的聊天系统,以其不受时间与空间的限制,向用户提供以文本信息传输为中心的服务,动态地实现与用户间的信息交互,必能满足广大用户的需求,该系统主要分为两部分:客户端和服务器端两部分。 系统所要实现的功能主要是方便用户进行网络聊天。 3. 2 系统功能需求 初步将在聊天系统分为两个模块:客户端模块及服务器模块。 客户端功能包括: 用户登录:建立与服务器的连接并登陆,能显示登陆错误信息,以及配置 登陆的服务器 IP 地址和端口号。 用户注册:连接本地数据库,注册用户号码,并保存该用户,同时将信息返回给客户端。 聊天功能:与好友进行聊天。 信息显示:显示好友的在线列表和好友的离线列表。 聊天纪录:能够记录当前界面的聊天记录。 登录提示:显示欢迎界面。 信息提示:能够播放提示音,提示用户有人向其发送聊天邀请。 头像闪烁提示:在收到消息而聊天面板未打开时,对你发出聊天信息的好友头像闪烁。 发送窗口抖动:发送提示声音并对好友的聊天窗体进行颤动激活。 添加好友:能够通过连接本地数据库进行添加好友。 第 3章 需求分析 6 删除好友:能够 通过连接本地数据库进行删除好友。 服务器端功能包括: 登陆信息:检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。 就将在线用户好友列表和离线好友列表发给该用户,并将该用户的状态发给各在线用户并更新其在线好友列表和离线好友列表。 消息发送:服务器打开监听,当接收到客户端发送的消息建立线程通过 Sockets 套接字转发消息。 操作数据库:服务器端对数据库里的数据表进行映射生成在线好友列表和离线列表。 用户下线:将此用户下线消息发给各客户端,并改写用户在服务器端的状态,更新客户端的在线好友列表和离线列 表。 3. 3 数据处理需求 对用户信息的处理需求:包括查询好友信息、添加好友关系信息、删除好友关系信息。 对聊天信息的处理需求:包括发送字符串、接收并显示字符串、保存当前界面的信息。 3. 4 系统性能需求 一个系统的性能包括信息系统的效率、处理方式、可靠性、安全性、适应性等内容。 效率是信息系统的处理能力、处理速度、吞吐量、响应时间等与系统处理时间有关的性能要素。 处理方式涉及的范围比较宽,包括信息系统的结构和分布模式、交互方式、业务处理方式等。 可靠性是保证系统正常工作及抗故障、抗干扰的能力,它包括:保证系统正 常工作的能力;对系统故障的预防、检测以及自动纠错的能力;出现故障时,保证系统不发生崩溃,并使系统重新恢复、重新启动的能力等。 安全性是保证合法用户能够正确使用信息系统,并防止非法用户访问信息系统的能力。 适应性是信息系统对外部环境和需求变化的适应能力。 根据系统的性能需求,在聊天系统的开发主要要实现的目标有以下几个方面: (1)界面设计友好、美观。 (2)数据存储安全、可靠。 (3)信息分类清晰、准确。 (4)数据查询的灵活性。 (5)实现对聊天信息的展示。 (6)提供好友关系信息的添加、删除功能,方便用户操 作。 (7)具有易维护性和易操作性。 第 4章 系统分析与设计 7 第 4章 系统分析与设计 4. 1 系统功能模块设计 按系统的功能需求分析,将系统功能模块分为两大模块:客户端功能模块和服务器端功能模块。 客户端功能模块包括:用户登录模块、用户注册模块、软件版权模块、显示好友模块、在线聊天模块、添加好友模块、删除好友模块; 服务器功能模块包括:服务器登录模块。 根据系统功能模块设计,系统的整体功能结构图如图 所示: 图 系统整体功能结构图 系统模块详细设计 客户端功能模块设计 ( 1)用户注册。 设计流程如下:输入要注册的 用户名 和密码,系统会检查 用户名 是否已经存在,如果不存在,就允许注册新用户并发回数据库自动生成的 用户 ID。 模块流程图如图 所示: 基于 .Net 平台的聊天系统 客户端功能 用户注册 用户登录 服务器端功能 滚动和通知区域图标 开启 监听服务 删除好友 在线聊天 添加好友 显示好友 第 4章 系统分析与设计 8 图 用户注册流程图 ( 2)用户登录。 设计流程如下:首先判断服务器的端口号是否配置正确,然后判断输入的用户名和密码是否正确,正确就用户登录。 模块流程图如图 所示: 图 用户登录流程 图 ( 3) 滚动和通知区域图标。 设计流程如下: 在登录成功后,生成窗体的 NotifyIcon图标和一个滚动的欢迎图标。 ( 4)显示好友。 设计流程如下:在登录成功后,服务器将为用户对数据库的表进行映射获得在线好友的列表和离线好友的列表通过 Socket 套接字发送过去,显示好友模块在显示面板上显示好友。 ( 5)在线聊天。 设计流程如下:先判断好友是否在线,进入聊天界面中写入发送的信息,通过服务器监听到发送好友消息在转发给好友,进行在线聊天,其还整合发送震动端口是否正确 用户登录 不存在 不正确 用户名和密码是否正确 用户名是否存在。 生成注册用户 注册用户 不存在 存在 返回生成酷熊号 返回生成用户 ID 第 4章 系统分析与设计 9 框提示功能、头像闪烁提示以及声音提示功能。 模块流程图如图 所 示: 图 在线聊天模块流程图 ( 6)添加好友。 设计流程如下:首先通过进行查询操作判断用户是否已经加过其好友,然后进行添加好友关系。 模块流程图如图 所示: 图 添加好友模块流程图 ( 7)删除好友。 设计流程如下:首先通过进行查询操作判断用户是否是在操作自己的好友关系,然后判断是否是好友关系,如果是就删除好友关系。 模块流程图如图 所示: 图 删除好友模块流程图 密码和用户 ID是否匹配。 查询用户 ID 是 否 删除好友 是否存在好友关系。 是 是否已加其为好友。 查询好友 否 是 添加好友 是否在线。 用户 1 是 发送消息 服务器端 是否在线。 用户 2 发送消息 第 4章 系统分析与设计 10 服务器端功能模块设计 服务器端功能模块就是服务器监听模块: 服务器监听模块。 设计流程如下:首先判断服务器的端口是否更该,配置好端口号开启服务器开始监听,监听到用户登录消息,客户端进行操作数据库验证,正确就建立 Socket连接,并读取其在线好友列表和离线好友列表发送给客户端,当监听客户端进行各种操作,服务器端调用自身的监听处理方法进行处理并将结果或信息通过 Socket 发送给客户端。 服务器监听模块流程图如图 所示: 图 服务器监听模块流程图 系统整体流程图 在聊天系统的流程是用户在客户端登录,若用户名不存在,则需先注册用户信息,在注册完用户信息后,用户输入自己的帐号及密码登录系统,在用户登录成功后服务器端监听客户端发来的登陆消息,进行登录处理,验证数据库表中的数据进行对比以及该用户当前的状态,如果用户的账号和密码比对无错,再比对在线用户 Hash表中是否已经登录,如果没有登录则建立 Socket连接并更新在线用户 Hash表,建立线程处理与用户的 Socket连接操作,同时发送登录用户的在线好 友列表和离线好友列表,用户成功登录后,进入好友显示模块,在在线好友界面中点击好友头像进入聊天界面,用户发送信息给在线好友,服务器监听到客户端通过 Socket发过来的对好友进行聊天的消息,并截取 Socket传输的数据流中是否合法端口号。 输入端口号 是 否 开启客户端监听 是否接收到消息 是 开启客户端处理 发送消息到客户端 否 第 4章 系统分析与设计 11 的发送者要传输给接收者的消息,通过与接收者建立 Socket连接,将数据写入其 Socket传输数据中,实现数据的转发,同时用户对好友进行发颤抖框操作都是服务器接受其操作消息标识参数,在发给好友操作标识参数,然后其客户端就会调用其自身定义的该标识参数下的方法,聊天完毕,用户发送离线消息,服务器接受 到其消息,关闭与其的 Socket连接,更新在线用户 Hash表以及在线用户的在线好友列表。 客户机 /服务器模式在操作过程中采取的是主动请示方式,首先服务器方要先启动,并根据请示提供相应服务:(过程如下) 服务器 ( 1) 、打开一通信端口并告知本地主机,它愿意在某一个公认地址上接收客户请求。 ( 2) 、等待客户请求到达该端口。 ( 3) 、接收到重复服务请求,处理该请求并发送应答信号。 ( 4) 、返回第二步,等待另一客户请求。 ( 5) 、关闭服务器。 客户方: ( 1) 、打开一通信通道,并连接到服务器所在主机的特定端 口。 ( 2) 、向服务器发送服务请求报文,等待并接收应答;继续提出请求 …… ( 3) 、请求结束后关闭通信通道并终止。 聊天系统的系统流程图如图 : 图 第 4章 系统分析与设计 12 图 系统分布流程图连接服务器发出消息请求 入口 监听端口 入口 封装并发送消息到服务器 在聊天去显示 客户端消息还是服务器端消息 选择用户 发送离线消息 服务器更新消息 客户端消息 入口 客户端系统流图 更新在线用户列表 监听端口 提取句柄报文目的地址 转发目的地 址 监听端口 配置服务器 判断消息 上线或离线请求 聊天信息操作 服务器端程序流程图 图 客户端 客户端 A 客户端 B 服务器端 封装发送 拆封、提取目的信息并转发 拆封、提取操作消息和目的信息转发地址 服务器端客户端交互流程图 图 第 6章 系统详细设计与实现 13 第 5章 数据库设计 概述 数据库设计是指根据用户需求研制数据库结构并应用数据库的过程。 一般,数据库的。基于net的在线聊天系统毕业论文(编辑修改稿)
相关推荐
5]。 .NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。 公共语言运行库是 .NET Framework 的基础。 您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安 全性和可靠性的其他形式的代码准确性。 事实上,代码管理的概念是运行库的基本原则。
方便、高效、快捷,同时也降低了考试成本,提高了考试的公平性、公正性、有效性,减少了人情分、关系分、误差 分。 因此,为了适应现代化教学的发展,提高教学信息化程度,降低教学成本,提高教学质量,加快教学评价信息反馈的速度,本人根据全国“化工检修钳工”技能竞赛暨首届全国化工装备技术专业技能大赛测试要求,结合本单位 (南京化工职业技术学院 )校园网建设及教学管理信息化的发展现状
本系统主要管理客房、客户以及客户的入住信息,针对它将要实现的业务功能,数据库中应具备以下信息存储: ( 1) 用户信息:包括用户 id,用户密码,用户身份,性别,部门,住址,电话等。 ( 2) 客房类型信息:包括类型 id,类型名称,面积,单价,描述等相关信息。 ( 3) 客房信息:包括房间号码,房间类型,当前状态,描述信息。 ( 4) 入住信息:包括客户 id,房间 id,房间类型,客户姓名
JSP 或 ASP. 技术,理由是政府部门服务器很多已经改装为 Linux 系统,在该平台下采用 JSP 技术较成熟。 如果政府部门服务器是 Windows 系统,则采用 ASP. 技术。 研究内容 随着因特网的不断普及和相关技术的逐步成熟,网络技术在企事业单位的 日常办公事务中也应用得越来越广,从简单的文件共享和公文流转,到网上发文、通知和信息交流,以及复杂的办公流程、电子文件归档等
语言文字的纯洁性和规范化,它还能为企业和求职者提供了一个伯乐选千里马的职场,博客为他们各自所需创造了一个高效的网络职场。 企业们要找适合自己的人才难度就大减少。 而求职者也不用花太多的时间在招聘现场的人群中拥挤了,随着演变, 博客的形式会越来越多样性。 系统开发目标 通过利用 C进行 、 的应用程序开发,使用 Code Behind 方式来实现,使前台界面和后台代码分离,通过利用类的继承、重用
登录模块 15/5/7 14:10 14:30 20 测试 测试登录模块的功能 15/5/8 13:00 13: 50 10 40 修复 修复登录模块的缺陷 15/5/12 17:00 20:00 30 30 编码 实现登录模块的异步处理 15/5/12 20:10 20:35 5 20 测试 测试登录模块异步处理的功能 15/5/13 8:00 8: 50 20 30 修复