




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。本文首先描述了即时通讯业的发展和现状,然后初步探讨了即时通讯所涉及到的一些技术:如通讯协议、服务模式、交友模式等;最后对现有的技术进行了对比和分析,提出了一些可能的改进方案,并且设计了一个名为FreeEIM的局域网即时通讯系统。FreeEIM局域网即时通讯软件是一款基于TCP/IP协议、更加便捷了用户之间的通讯和交友;使用XML设计信息格式,丰富了传输的数据,并使得协议容易扩展;使用SOAP协议传输数据,突破了防火墙的限制。用户可在企业内部或外部通过该软件进行工作上的交流。支持统一的用户管理,并且通讯记录可保存于服务器,查询方便。为您提供安全,稳定的即时通讯解决方案。本系统建立在Visual Studio2008平台上, 系统的设计使用了.net技术和数据库搭建技术的设计原则。聊天系统完成后将可进行人与人之间的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。关键词:VS 2008 WinformFreeEIM局域网即时通讯SQL Server 2005ABSTRACTInstant Messaging is currently the most popular way to communicate on the Internet,by the way various Instant Messaging software have been continuously appearing; service provider offers more and more communication services nowadays. As the development of the Internet, Instant Messaging will perform a wider use and is growing up day after day. This article first describes the development and the current status of the Instant Messaging. Then it initially discusses the technologies of the Instant Messaging such as communication protocol, service mode and friend-making mode. It makes a comparison and analysis with respect to the current technology and also provides some possible solution for improvement. At last it designs and develops an Instant Messaging System named FreeEIM.The FreeEIM Instant Messaging system uses TCP and UDP protocol as the transfer protocol, which makes more convenience between users to communicate and make friends. It uses XML to design information format, which riches the data for transfer and gains convenience for protocol extension. It uses SOAP protocol for data transportation, which makes breakthrough against the constraints by firewalls. The system applies Six Degrees of Separation Theory and Rule of 150 into the design of friend-making, which improves the reliability and security between good friends and gains more utility.The system built on the Visual Studio2008 winform, the system design using .net technology and SQL Server2005 principles.Chat system will allow people to complete chat to more friends,and the system can add, delete somebody,can deal with new user registration, send messages, receive messages and so on.Key words: VS 2008 WinformFreeEIM lan instant messagingSQL Server 2005目录1 前言11.1 开发背景11.2 国内外研究现状11.3 系统设计目标11.4 研究的意义22系统开发所采用的技术32.1 C#(C Sharp)技术32.2Winform技术32.3SQL server 200542.4FreeEIM的两种传输协议53 FreeEIM系统需求分析63.1 即时消息的一般需求63.2 即时消息的协议需求63.3 即时消息的安全需求63.4 即时信息加密和鉴别73.5 即时通讯系统需求73.6 即时通讯系统可行性分析84 概要设计94.1 系统总体功能模块设计划分94.2 数据库设计94.3 注册设计104.4 登陆设计114.5 信息传输设计125 系统详细设计与实现145.1 通讯协议的制定145.2 登录功能设计165.3 聊天功能设计195.4 用户注册功能设计205.5 用户查找添加好友功能设计226 系统测试246.1 测试概论246.2 FreeEIM系统采用的测试方法246.3 FreeEIM登录功能测试25结论26谢辞27参考文献28附录29大连交通大学信息工程学院2011届本科生毕业设计(论文) 前言1.1 开发背景在国内,1999年2月,深圳腾讯公司正式发布OICQ99 beta build 0210,开通腾讯即时通讯服务。2000年5月,腾讯QQ同时在线用户突破10万;2001年2月l0日,腾讯QQ同时在线用户突破100万。2004年4月份腾讯QQ同时在线人数最高记录已经突破了600万大关,现在腾讯公司正在把即时通讯系统往移动通讯方向扩展,如今已经将即时通讯与手机短信息(SMS)成功结合起来。即时通讯软件涉及和影响的领域已近越来越广,其竞争也越来越激烈。国内QQ最大的敌手朗玛UC从2001年开始研发,2002年的12月份UC正式发布,并且首创了很多技术:UC是国内第一个做场景聊天的;UC是第一个把同学录和校友录结合的;第一个把即时通讯与休闲游戏相结合的;第一个把发送动画与即时通讯相结合的。在一年的发展里,UC一度达到峰值在线30万人,注册用户达到7000万。纵观即时通讯软件业的迅速发展,设计并开发一个即时通讯平台,对于现阶段的学习和研究,都是极为有意义的,基于这个前提和起因,我选择了设计一个名为FreeEIM的即时通讯系统作为我的毕业设计。1.2 国内外研究现状目前,在中国国内市场上的企业级即时通信工具主要包括:腾讯公司的RTX、IBM公司的Lotus Sametime、微软公司的UC、点击科技的GKE、中国互联网办公室的IMO、红杉树公司的Easy Touch、亿企通的Jingoal等。企业即时通信市场的远未饱和给软件厂商留下了足够的空间,市场研究机构eMarketer的数据显示,全球企业即时通信市场规模2005年为2.67亿美元,预计2011年市场将实现翻近两倍的增长,达到6.88亿美元。到2011年,即时通信工具将取代声音、视频和文本,成为工作人群主要的沟通方式。预计2013年,领先跨国公司95%的职员将把即时通信软件作为他们实时沟通交流的主要工具。相对于个人即时通信工具而言,企业级即时通信工具更加强调安全性、实用性、稳定性和扩展性。在国外,如IBM、微软等。其优势在于起步早,产品在进入中国前已在国外企业用户中得到了广泛应用,企业知名度和产品知名度较高;缺点是在面对中国企业用户的特定需求时,其产品的适应度还较差,另外,国际厂商为了实现大而全的目的,它们的即时通信产品往往与自身的其他软件系统关联度、依赖度很强 (如微软OCS和Exchange Server 2003的紧密捆绑,IBM Sametime与Lotus的紧密结合),这无疑会增加企业用户的采购成本。1.3 系统设计目标本课题主要对局域网聊天系统的现状进行调研分析,实现局域网聊天系统的各个功能模块,为以后实现企业级局域网通讯系统打好基础。本系统设计开发完成后能够实现好友之间简单的聊天与传输功能,达到层次清晰,功能丰富的要求;界面美观,用户操作界面采用中文汉字操作,使用起来较为方便,操作灵活;本系统的开发具有良好的可扩充性,可根据用户的喜好随意更改自己的个人资料,打到保护隐私的目的;且系统维护实用易操作。1.4 研究的意义 如今,计算机网络技术已经深入到人们生活的各个方面,局域网聊天系统亦是如此。据统计,90%以上的企业网内的终端机上都在运行QQ/MSN等个人即时通信软件,人们已经习惯于使用即时通信工具进行日常的工作联络。可是,大多数员工都是在没有获得企业许可的情况下使用个人即时通信工具,这给企业网络带来了比较大的安全和效率问题。加上个人即时通信工具经常让员工陷入非工作状态的聊天中,因此很多企业也通过各种手段禁止员工进行QQ/MSN等操作。在这种现状下,采用企业级的即时通信软件自然就成为了企业客户最好的解决方案,既满足了内部员工的沟通习惯,又解决了公司制度和网络安全等问题,一举两得。作为信息学院的学生,即时了解和掌握流行的即时通讯机制并且应用到实践过程中,将极大的提高自己的设计和开发软件的积极性;提升自己的理论和技术水平,跟踪国内外最新的技术和开发模式,为以后类似的开发积累经验;同时,开发出来的作品也可以真正运用到实际当中,方便大家的沟通和交流。2 系统开发所采用的技术2.1 C#(C Sharp)技术C#(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,C#拥有强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C+与Java一样亦为对象导向(object-oriented)程序语言。C#最引人入胜的地方是它和Java的不同,而不是相似的地方.这一节(和这个系列第二部分的大部分地方)讲述了C#实现的和Java不同的地方或者Java根本没有的特点。C#的主要优点如下:(1)C#吸取了JAVA的语法结果,又结合了C+的结构,进行了一些改进,C#不像JAVA那样完全解释执行,C#采用编译的汇编代码进行执行,所以C#的运行效率比JAVA快。(2)完全支持类和面向对象编程,包括接口和继承、虚函数和运算符重载的处理。(3)C#的优势在于类型安全性的检查和垃圾回收机制,就是一些不安全的,可能会引发异常的类型转换,或者是指向非托管代码段的指针都会在编译的时候被检查出来,垃圾回收机制的意义是程序员可以从内存泄露和析构函数中解放出来,花更多精力去编写业务方面的代码。(4)用 C# 设计的组件可以很容易的转换成 Web 服务,可以以任意操作系统的任意语言从 Internet 上调用。开发人员可以定义特定域的属性,并将它们应用于任何语言元素如类,接口等。开发此应用程序的团队使用 .NET 框架和 C# 语言创建了多线程的邮件服务。2.2 Winform技术 WinForm是.Net开发平台中对Windows Form的一种称谓。Windows窗体也称为WinForms,可以创建应用程序的用户界面,并使用任何一种.NET支持的语言编写应用程序的功能。 WinForms应用程序一般都有一个或者多个窗体提供用户与应用程序交互。窗体可包含文本框、标签、按钮等控件。大型WinForms应用程序有许多窗体,一些用于获取用户输入的数据,一些用于向用户显示数据,一些窗体会有变形、透明等其他效果甚至让你看不出他的真实面目。WinForm有如下的主要特点: (1)简单强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。(2)新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server、Microsoft Access、Jet、DB2以及Oracle等。(3)安全:Windows窗体充分利用公共语言运行库的安全特性。这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序。(4)灵活的控件:Windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。 方便的数据显示和操作:应用程序开发中最常见的情形之一是在窗体上显示数据。Windows窗体对数据库处理提供全面支持。可以访问数据中的数据,并在窗体上显示和操作数据。(5)向导:向用户提供创建窗体、数据处理、打包和部署等的分布指导。2.3 SQL server 2005SQL Server 是一个关系数据库管理系统。SQL Server2005是由Microsoft公司开发的,简称SQL Server。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。SQL Server 2005 的主要特性包括:(1)Internet集成SQL Server 2005 数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2005 程序设计模型与Windows DNA构架集成,用以开发Web应用程序,并且SQL Server 2005 支持 English Query 和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。(2)可伸缩性和可用性同一个数据库引擎可以在不同的平台上使用,从运行Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000数据中心版的大型多处理器服务器。SQL Server 2005 企业版本支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。 (3)企业级数据库功能SQL Server 2005关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时数据源的数据,比如说这些数据是SQL Server 2005数据库的一部分,同时分布将管理大量并发修改数据库用户的开销减到最小。SQL Server 2005分布式查询使使用者得以引用来自不同式事务支持充分保护任何分布式数据更新的完整性。复制同样使使用者得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并发回服务器。 (4)易于安装、部署和使用SQL Server 2005中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。SQL Server 2005还支持基于标准的、与 Windows DNA集成的程序设计模型,使SQL Server数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使使用者得以快速交付SQL Server应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。 2.4 FreeEIM的两种传输协议(1)TCP协议TCP和UDP是TCP/IP协议族的两个主要的传输协议,TCP是面向连接的,UDP是面向无连接的,而实际上他们最大的区别在于为应用协议提供不同的服务,TCP协议为应用程序提供点到点的通信:建立可靠的连接。如果有故障发生,阻碍分组到达远程系统,或者服务器不接受连接,客户都会得到通知:数据可靠的交付,故障而不能交付,发送方会得到通知;具有流控的传输;双工的传输,单个TCP连接允许同时双向传送数据流模式,TCP从发送方到接收方发送没有报文边界的字节。选择TCP一个很大的缺点就是,建立和中止连接的三次握手使TCP比起UDP开销大。一个理想的解决方案应该既能提供可靠的数据传输,又不需要专门的建立和释放连接,不需要报文的反段和重组,同时还能是两端的空闲状态所处的时间最短。TCP什么都好,只可惜他需要建立和释放连接。(2)UDP协议由于TCP和UDP的语义及其不同,如果要考虑应用协议所要求的语义,设计者就不能不在面向连接和无连接的传输协议间作出选择。UDP为应用程序提供多对多的通信,UDP在进行通讯的应用的数量上面,具有更大的灵活性。多个应用可以向一个接收方发送报文,一个发送方向也可以向多个接收方发送报文。UDP还可以使用底层网络的广播和组播设施交付报文:UDP提供的是不可靠交付语义,报文可能丢失、重复或者失序,而发送方是得不到通知的;缺乏流控制;报文模式,当有数据交付的时候,必须制定报文边界。3 FreeEIM系统需求分析3.1 即时消息的一般需求(1)一般即时消息格式需求所有实体必须至少使用一种消息格式;一般即时消息格式必须定义发信者和即时收件箱的标识;一般即时消息格式必须包含一个让接收者可以回消息的地址;一般即时消息格式应该包含其他通讯方法和联系地址,例如电话号码,邮件地;一般即时信息格式必须允许对信息有效负载的编码和鉴别(非ASCII内容);一般即时信息格式必须反映当前最好的国际化实践;一般即时信息格式必须反映当前最好的可用性实践;必须存在方法,在扩展一般即时消息格式的时候,不影响原有的域;必须提供扩展和注册即时消息格式的模式的机制。(2)可靠性需求协议必须存在机制,保证即时消息成功投递或者投递失败的时候,发信者获得足够的信息。(3)性能需求即时消息的传输必须足够的迅速;即时消息的内容必须足够丰富;即时消息的长度尽量足够的长。3.2 即时消息的协议需求协议是一系列的步骤,它包括双方或者多方,设计它的目的是要完成一项任务。即时通讯协议,参与的双方或者多方是即时通讯的实体。协议必须是双方或者多方参与的,一方单独完成的就不算协议。这样在协议动作的过程中,双方必须交换信息,包括控制信息、状态信息等等。这些信息的格式必须是协议参与方同意并且遵循的。好的协议要求清楚,完整,每一步都必须有明确的定义,并且不会引起误解;对每种可能的情况必须规定具体的动作。3.3 即时消息的安全需求A发送即时消息M给B(1) 如果无法发送,A必须接到确认; (2) 如果M被投递了,B只能接受M一次;(3) 协议必须为B提供方法检查A发送了这条信息;(4) 协议必须允许B使用另一条即时信息,回复信息;(5) 协议不能暴露A的IP地址;(6) 协议必须为A提供方法保证没有其他个体C可以看到内容M;(7) 协议必须为A提供方法保证没有其他个体C可以篡改M;(8) 协议必须为B提供方法鉴别没有发生篡改;(9) B必须能够阅读M,B可以防止A发送信息给他;(10) 协议必须允许A使用现在的数字签名标准对信息进行签名。3.4 即时信息加密和鉴别(1) 协议必须提供方法保证通知和即时消息的置信度,未被监听或者破坏;(2) 协议必须提供方法保证通知和即时消息的置信度,未被重排序或者回放;(3) 协议必须提供方法保证通知和即时消息被正确的实体阅读;(4) 协议必须允许客户自己使用方法确保信息的不被截获,不被重放和解密。3.5 即时通讯系统需求(1)注册需求即时通讯系统拥有多个账户,允许多个用户注册;一个用户可以注册多个ID;注册所使用的帐号类型为数字ID;帐号的起始ID为5位数;要防止同一个用户在一段时间内反复注册三个或者三个以上的帐号;注册新用户时必须填写符合要求的信息。(2)通讯需求用户可以传输文本消息;用户可以传输RTF格式消息;用户可以传输多个文件/文件夹;用户的消息可以中转至服务器;用户可以从服务器获取中转的好友消息;客户端与服务器端可以传输串行化消;用户可以加密/解密消息等。(3)好友管理需求用户可以查询好友;用户可以添加好友;用户可以添加多个人为好友,一个用户可以被多个人添加为好友用户可以删除好友;用户可以将好友放在多个组中。3.6 即时通讯系统可行性分析在IM高度发达的今天,很多人都忽视了FreeEIM的重要性。企业需要的是员工高效的工作效率,而员工需要便捷的工作方式,FreeEIM本着不需要接入互联网,压缩公司成本,杜绝公司机密泄露等优点越来越被社会所任何与看好。FreeEIM是一款局域网聊天工具。它基本实现了人对信息传达与传递的需求,有着现实的经济意义和社会效益。由于该聊天软件系统的种种特点,也给实际管理的操作带来了极大的便捷,如用户登录注册查询删除,这些带给企业的是工作效率的大大提高。在经济可行性上,计算机技术发展异常迅速的根本原因在于计算机的应用促进了社会的发展,给社会带来了巨大的经济效应。基于计算机系统的成本分析是可行性研究的重要内容。基于计算机系统的成本分为以下三个部分:a:购置并安装软硬件有关的设备费用;b:系统开发费用;c:系统安装、运行和维护费用。在法律可行性上,根据实际情况的调查结果,在开发FreeEIM软件过程中不涉及各种合同、侵权、责任以及各种与法律相抵触的问题。因此,本FreeEIM软件的开发在法律上是可行的。由此可见,FreeEIM无论是从结构上还是计算机应用需求上,都是需要我们开发的该软件系统。4 概要设计4.1 系统总体功能模块设计划分FreeEIM 系 统聊 天 对 话 框 模块删 除 好 友 模块修改密码验 证 模块添 加 好 友 模块更 新 资 料 模块系 统 消 息 模块登 陆 界 面 模块主 窗 体 界 面 模块系统要实现的主要功能有:1. FreeEIM的注册与登陆模块;2. FreeEIM的主窗体界面模块;3. FreeEIM的聊天对话框模块;4. FreeEIM的更新资料功能;5. FreeEIM的添加好友功能模块。6. FreeEIM的删除好友模块7. FreeEIM的修改密码验证模块8. FreeEIM的系统消息模块4.2 数据库设计关系数据库是数据库来组织数据的一种方式,是现在数据库中广泛应用的一种流行关系。关系数据库的理论是建立在数学的集合的基础上,是集合论在数据组织上的应用。在关系数据库中所有的数据都按照表的方式组织。它主要是通过建立数据库中的表之间的对应关系来维护数据,在关系数据库中,所有的实体和实体之间的关系都是用关系来表示的。实体间的关系可以有一对一,一对多和多对多的关系。表是数据库中最重要的也是最基本的组成,表中有不同的项和条目。表对应与ER图中的实体,而其中的项对应与ER图中的属性,所以表就是ER图转化为数据库中的基本数据。表中分为键,其中有主键和非主键之分。下面是系统的表的初步定义:表4-1 Group部门信息表字段名类型位数是否为空idInt12否usernamechar12否userpwdchar12否groupInt10否userfaceSmall date time20否stopchar10否表4-2 UserFriend好友关系表字段名类型位数是否为空idInt12否usernameChar12否usergroupChar12是usersexChar10是userageInteger4是e-mailvarchar50否addressvarchar50是telephotovarchar50是mssagevarchar100是4.3 注册设计注册用例图用例说明:填写注册信息检查信息格式新注册申请串行化数据传输注册数据生成新ID添加新用户命令在数据库中添加新用户FreeEIMDBServer生成新IDFreeEIMClient在数据库中添加新用户添加新用户命令新注册申请填写注册信息检查信息格式传输注册数据FreeEIMServer反串行化数据串行化数据图4-3 注册用例图4.4 登陆设计登录用例图用例说明:输入登录信息发送登录请求验证登录信息传输好友列表传输留言信息刷新在线用户列表通知好友上线改变好友状态读取用户数据命令从数据库中读取用户信息改变好友状态(from 客户端与服务端通信).)从数据库中读取用户信息MessageReceiver(from 客户端间通信)输入登陆信息通知好友上线MessageSender(from 客户端间通信)FreeEIMDBServer发送登陆请求验证登陆信息传输好友列表传输留言信息读取用户数据命令刷新在线用户列表FreeEIMServer(from 客户端与服务端通信).)FreeEIMClient(from 客户端与服务端通信).)图4-4 登录用例图4.5 信息传输设计传输信息用例图说明:选择发送内容加密信息传输信息解密信息显示信息选择发送内容加密信息MessageSender显示信息传输信息解密信息MessageReceiverFreeEIMClient(客户端与服务端通信.)图4-5 信息传输用例图5 系统详细设计与实现5.1 通讯协议的制定(1)FreeEIM的传输层协议ICQ和QQ都同时为支持不同的传输层协议TCP和UDP协议,制定了语义不同的即时通讯协议。使用TCP作为其传输层协议,可以提供即时通讯协议必须的可靠连接和可靠交付语义,简化了应用层协议的设计。FreeEIM选择TCP作为其传输层协议之一。在文件传输和传输串行化数据时,采用TCP协议来进行传输;在FreeEIM客户端之间进行通信的时候,将使用UDP协议进行开发,系统并不保证消息一定能够到达,但是如果消息没有到达对方的话,服务器会中转消息或者通知用户重发消息。(2)FreeEIM协议的设计设计协议就是设计一套满足需求的交互操作的语义和相关的信息格式。FreeEIM协议它定义了满足即时通讯模型需求的一组交互操作的语义和相关信息的肌格式。现在普遍使用的嵌套文本信息格式有两种:MIME和XML。 MIME在大多数环境下,RPC822信件只能含有7位USASCII信息。但是电子邮件成为Internet上主要的通信机制以后,人们开始考虑使用它发送和接收其他类型的信息,所以就诞生了Multipurpose Internet Mail Extensions(MIME)。MIME是RFC822非常丰富的扩展。MIME的核心由这样几个RFC定义:a) RFC 2045 (MIME第一部分:Internet信件格式b) RFC 2046 (MIME第二部分:媒体类型c) RFC 2047 (MIME第三部分:非ASCII文本的信件头扩展d) RFC 2048 (MIME第四部分:注册过程e) RFC 2049 (MIME第五部分:符合标准和举例MIME定义了一组字段,制定编码数据的性质。主要的字段是MIMEVersion、Content-Type和Content-TransferEncoding。MIMEVersion字段标识使用什么版本的MIME。Content-Type字段制定包含的数据的类型,包括来自特定应用程序的文件、通用的数据类型、 电子邮件和多部件实体;Content-Transfer-Encoding字段只是用于把数据编码为7位USASCII的编码方法。几个其他字段增强这些核心功能。 XMLExtensible Markup Language(XML)是Internet上的结构化的文档和数据的通用格式。XML是由以下两个W3C的建议定义的:a) XML 10规范b) XML中的命名空间XML使用形如”“的标签和形如”name = attribute”的属性对定义结构化的数据。由一开始XML就考虑到国际化问题,从一开始XML就是建构在Unicode统一编码上面。XML名字空间规范用于管理XML文档中标签和属性的名字冲突问题。XML Schemas用于开发者精确定义自己的XML格式。(3)FreeEIM协议的信息格式MIME在电子邮件和Web上面成功的应用,使得IMPPWG倾向于使用MIME作为信息格式的描述,建议当场信息格式使用MIME格式的vCard,即时消息格式使用MIME的媒体类型。但RFC822MIME存在着以下主要的缺点:不规则的词汇格式:RFC822允许多种编码方法的存在,并且允许使用多种方法对值进行编码。信息摘要的计算必须定义单一的编码方式,使用其他的编码方式将丢失电子签名鉴别需要的信息。国际化程度差:RFC822要求头使用7位的ASCII码,使用国际字符集有问题。MIME头的编码机制难于使用而且应用有限。易变:可以对头信息进行添加、修改和删除。由于没有明确禁止,很多应用程序包括MIME网关重建甚至重构传输中信息的格式,这些对于依赖于头信息实现的安全性,例如数字签名,带来致命的问题。消息和有效荷载间界限模糊,在元数据和消息内容间没有明确的语法区别。有限的扩展性。不支持结构信息,只允许字符串值。由于XML本身就是通用的数据结构描述语言,与作为邮件扩展而产生的MIME相比有着无可比拟的优势。由于看中XML这个优点,FreeEIM选用XML作为协议的信息格式的描述语言;使用SOAP协议发送XML格式的消息。无论是MIME还是XML,由于他们都是文本格式,数据大小往往二进制格式要大一个数量级7。二进制数据尽管数据量小,但是扩展困难,协议的语法定义或者信息格式有大的改变,都会导致客户软件上面有大的升级。我们可以采取下层传输协议进行即时的数据压缩消除信息冗余度的方法提高文本协议的性能。出于这种性能的考虑,ICQ和QQ在传输的时候使用自己的二进制数据格式传输的数据,以获得与二进制格式相近的通讯带宽节约。在FreeEIM的传输协议中,将便使用XML以及串行化数据来进行传输,基于校园网的考虑,暂时不涉及到数据压缩和解压缩问题。(4)FreeEIM名字空间的管理同ICQ和QQ一样,FreeEIM 将使用数字ID来构成命名空间,数字ID存在着普遍性和唯一性,每个人都会为自己有这样一个独特的数字号码而感到独特,就象电话号码、车牌号码、手机号码一样,数字ID的魅力足以弥补其难以记忆性的缺陷。(5)FreeEIM的端对端安全使用.NET中的CryptoStream进行数据流加密:托管对称加密类与称为 CryptoStream 的特殊流类(此特殊流类加密读入流中的数据)一起使用。CryptoStream 类使用以下参数进行初始化,它们是:一个托管流类,一个实现 ICryptoTransform 接口的类(它从实现加密算法的类创建,以及一个 CryptoStreamMode 枚举(它描述允许对 CryptoStream 进行的访问类型)。可以使用从 Stream 类派生的任何类(包括 FileStream、MemoryStream 和 NetworkStream)初始化 CryptoStream 类。使用这种方法,可以方便地对各种流对象执行对称加密。a).一般即时消息格式需求所有实体必须至少使用一种消息格式;一般即时消息格式必须定义发信者和即时收件箱的标识;一般即时消息格式必须包含一个让接收者可以回消息的地址;一般即时消息格式应该包含其他通讯方法和联系地址,例如电话号码,邮件地;一般即时信息格式必须允许对信息有效负载的编码和鉴别(非ASCII内容);一般即时信息格式必须反映当前最好的国际化实践;一般即时信息格式必须反映当前最好的可用性实践;必须存在方法,在扩展一般即时消息格式的时候,不影响原有的域;必须提供扩展和注册即时消息格式的模式的机制。b).可靠性需求协议必须存在机制,保证即时消息成功投递或者投递失败的时候,发信者获得足够的信息。c).性能需求即时消息的传输必须足够的迅速;即时消息的内容必须足够丰富;即时消息的长度尽量足够的长。5.2 登录功能设计FreeEIM登录界面 实现登录功能图5-1FreeEIM登陆界面 / 打开申请号码界面 private void llbl_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) RegisterForm registerForm = new RegisterForm(); registerForm.Show(); catch (Exception ex) error = true; Console.WriteLine(ex.Message); finally DBHelper.connection.Close(); / 关闭数据库连接 if (!error & (num = 1) / 验证通过 / 设置登录的用户号码 UserHelper.loginId = int.Parse(txtLoginId.Text.Trim(); / 创建主窗体 MainForm mainForm = new MainForm(); mainForm.Show(); / 显示窗体 this.Visible = false; / 当前窗体不可见 else MessageBox.Show(输入的用户名或密码有误!, 登录提示, MessageBoxButtons.OK, MessageBoxIcon.Error); / 忘记密码标签 private void llblFogetPwd_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) MessageBox.Show(该功能尚未开通!,提示,MessageBoxButtons.OK,MessageBoxIcon.Information); / 用户输入验证 private bool ValidateInput() / 验证用户输入 if (txtLoginId.Text.Trim() = ) MessageBox.Show(请输入登录的号码, 登录提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtLoginId.Focus(); return false; else if (txtLoginPwd.Text.Trim() = ) MessageBox.Sho
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年三四线城市房地产税收政策与风险控制报告
- 药品购销信用管理制度
- 药品顾客投诉管理制度
- 药店医疗废物管理制度
- 药店药品归置管理制度
- 营业网点加班管理制度
- 设备使用维修管理制度
- 设备培训考核管理制度
- 设备技术文件管理制度
- 设备检修提级管理制度
- 公司职业病危害防治责任制度
- 第十八章:爬行纲课件
- 米亚罗-孟屯河谷风景名胜区旅游基础设施建设项目环评报告
- 滁州市第一人民医院医疗暂存间环保设施提升改造项目环境影响报告表
- 籍贯对照表完整版
- 警用无人机考试题库(全真题库)
- 中等职业学校英语课程标准(2020年版)(word精排版)
- 高边坡作业安全专项施工方案与高边坡安全专项施工方案汇编
- 医保业务知识题库
- 等级医院评审中应注意的迎评礼仪
- 吉林省长春市东北师大附中明珠学校2023年物理八年级第二学期期末统考模拟试题含解析
评论
0/150
提交评论