网络即时通讯软件的设计分析与实现
2020-12-19
来源:榕意旅游网
2016年4月上 网络即时通讯软件的设计分析与实现 万周飞(武汉轻工大学数学与计算机学院,湖北武汉430023) 【摘要】随着我国经济发展水平的不断提高,互联网得到了快速发展,在各领域得到了广泛应用,越来越多的通讯产品产生,促使涌现大量的 周边服务,娱乐风气盛行,同质化现象越来越严重,自身特色化的产品满足客户需求。本文研究一种网络即时通讯软件,探讨该通讯软件设计与 实现方法,使这些细节性功能在不同环境下满足用户需求。 【关键词】网络即时通讯;软件设计;功能实现 【中圈分类号】TP311.5 【文献标识码】A 【文章编号】1006—4222(2016)07-0082—03 网络中常见的即时通讯系统很多都面向lnternet用户群. 不仅用于沟通.还可以对周围一些丰富的应用服务进行捆绑. 数据层DBMS使用了Microso ̄公司研发的一种数据库服 务器.用于对数据进行管理。能够快速更新并检索出海量数 比如,游戏、音乐、社交等,以为用户提供更加真实的网络应用 体验 鉴于企业部分领域IM需求不同.所提供的产品也不一 据.由此,将其由功能层传输到数据层过程中都会使用到SQL 语言 、主要应用到的技术为TCP,IP协议、RTP协议以及Socket 样.在这些应用环境下不需要对环境进行注册,关注账号管理 编程技术。TCP/IP协议聊天工具建立起一种使用协议,在网络 与简洁性,在虚拟化的网络环境中,能够针对不同需求进行产 品研发。由此。考虑到研究现状与未来趋势。一套即时通讯系 统开发与研究显得尤为重要。 中能够进行通信,对控制协议与网际协议进行传输 这种标准 协议不同环境下能够以节点为单位相互通信.还能与互联网 进行信息交换与传输 此外.TCP/IP协议还是一种基于层次的 1需求分析 1.1系统开发目的 通常.聊天工具都是由客户端程序与服务器程序构成的 但是,很多网络公司仅提供免费的聊天工具客户端程序。服务 器程序则不提供,将很难在公司内部网络使用中更加灵活、方 便。开发一种聊天工具使其能够更加灵活的应用在公司内部 则能保证信息安全。处于这一问题,本文设计了即时通讯工 协议.内部包含了众多其他协议.共同构成一个TCP,IP协议 组合_3{ 2.4功能模块划分 聊天.Y-具能够按照以下过程完成通信:注册服务器,并 告知服务器所在的监听主体:完成了客户注册以后.向服务 器发送相关信息:服务器能够将信息发送到所在的监听主体 客户端上。数据库操作包含了用户信息的录入、用户信息的 具.可以将这一问题更好的解决,增强公司内部信息交流的便 修改以及好友数据资料的查找以及添加等 功能模块具体见 捷性与安全性 图1所示 1,2需求分析 该软件的开发与利用目的是具备基本的信息交流功能. 比如,登录、注册、聊天、语音等。要想实现信息一对一交流,就 要对网络安全问题提高重视度.防止出现号码被盗或者被破 坏的情况。通过相关调查显示.系统需要满足的功能为:具备 良好的人机界面:具备较好的权限管理:确保原始数据更容易 修改,支持更多修改条件:数据查询更加方便,满足更多的查 询条件 确保传输效果更好.避免出现延时 囤1功能模块划分 客户端功能分为用户新建、登录用户、好友查找以及通信 聊天。三个功能的含义概述为:构建一个ServerSocket连接端, 2系统总体设计方法 2.1客户层 客户层也被称为表示层.就是应用程序中的接口部分,能 够为用户设计一个聊天用的客户层.以实现用户对话功能。这 目的是对是否有客户端连接或者中断进行侦听:服务器端能 够完成信息发送,也是信息的发送中心.所有客户端的信息都 能集中到服务端.再通过服务器端按照需求将信息发送出去: 建立服务器端通信通道,向服务器发送信息,并对用户进行登 录:多线程设计分为服务端的多线程与客户端的多线程.前者 种用户输入数据的检查方法能够将输出数据显示出来,为了 使操作更加直观就要使用图形接口,如果需要对聊天用户条 是建立一个线程与客户端通信,优势是能够连接与处理多个 件进行变更.系统就可以对数据进行检查,也不会影响到其他 通信.防止出现数据排队或者拥堵,发挥系统的优越性能。服 层面。 务器可以为每一个客户都构建一个线程。为了满足多个客户 端的要求.要设计一个主线程并将服务端多线程启动 。主线 2.2服务层 功能层与服务层的含义一样都是应用主体,就是在程序 中编入具彼的业务处理逻辑,比如,检索的数据,用户如果需 要系统就会按照要求将信息全部传送到功能层中,只要用户登 结构进程相似.都能够生成一个线程连接。线程调速速度快并 且所利用的资源少.对进程空间的数据进行共享,使服务器具 有更灵敏与更快速的响应速度,在吞吐量上也非常大。客户端 的多线程设计目的是更好的完成信息接收与发送操作,能够 循环等待客户端。这种循环方法的使用首先要将内容输入,然 录.在功能层就能检索到数据结果,能够一次性传送给表示层口。 2.3数据层 镰每 后将其发送到服务端上。最后再进行信息接收并返回客户端ts-1。 处理注册事件是客户端部分。Java事件中包含键盘事件、 按钮事件应急鼠标事件等,每一个事件系统都会使用监听器, 比如,mousePresssd,mouseReleased,mouseClicked。监听具体流 3系统具体设计与编码 3.1数据库的设计 数据库表设计的目的是对用户好友资料进行注册与存 放.能够使用两个相同的数据库表完成用户信息的存放与好 程如图2所示。 友资料的存放。在SQL Server2000上建立一个iavaicq数据库 与两个相同的数据表,用户的基本信息表示为icq,用户好友 数据库表名为friend icq表的主要功能是对用户信息进行存 放.包含昵称、密码、号码以及在线或者离线、IP地址、头像、性 别、籍贯等信息。用户昵称或者密码都是必须添加的字段,是 否在线也是系统设置重点:其他信息都是可以选择的字段类 型;icq表格数据类型如表1。 表1用户基本信息表 字段名称 tcqno nickNalTle passwora status Jp ● info email place 数据类型 tnt 长度 5 Chat 9 Cbar 8 Bit Chat Varehar lnt Ch毪r Cbar 2 2 40 3 9 l1 图2注册事件处理流程图 3-3.3用户登录 Friend表的设计相对简单 系统只对用户号码与好友号 码两个字段进行了设计,具体见表2所示。 表2用户好友表设计 字段名称 数据类型长度 mqno Into6 friend Into5 在客户端程序中输入用户名与密码,并将其与服务器创 建连接,向服务器发送登录请求。在接收了这一请求以后,再 使用JdbcOdbc对数据库进行读取.比较输入的信息。如果输 入的信息与数据库信息一致,则表示服务器向客户端返回信 息成功,注册当前的lP地址:客户端接收到了服务器确认以 3-2服务器设计 主服务器设计考虑到以下几方面因素,分别是服务器响 后将聊天主窗口打开.否则弹出的消息失败。客户端事件驱动 与服务器事件监听是对应的。 3.3.4主程序设计方法 应速度、包括新建连接与发送数据的及时性等;对于TCP/IP 协议数据结构.设计过程中需要考虑到的因素为多线程与多 进程.主服务器端多线程语句为:SerVerSocket=newServer- 客户在登录成功以后,客户端就能够与服务器顺利连接。 连接以后.客户端则可以读取服务器的好友名单;服务器收到 Socket(7070),在707O端口上创建一个接口,并使用这个语句 创建出一个主线程 。主服务器主要用来对SerVerTHread类 进行调用.每一个SerVefIHread都是实体线程,都能对客户端 连接请求进行响应 而服务器的一个进程或者多个进程则是 这一请求就马上读取friend表并获取好友号码,再利用ieq表 将好友的资料获取到.将这些信息发送到客户端;客户端在收 到服务器信息提醒以后,将在主窗口显示出好友昵称。客户端 还能创建一个矢量.目的是对好友昵称、jicq号码、头像等信 息进行存储。主程序窗口通过JFrame对象添加完成,添加的 指端口等待连接信息的时间,也能按照设计数据交换方法对 数据进行传输。在需要的时间,客户端能够向服务端提供一个 连接请求 内容为AWT、Swing。但是,JFrame不单是一个容器还是一个 程序框架,可以在框架中添加组件或者零件,还在内容上有一 个面板,能够将窗口上的所有组件都添加到这一面板上,借助 ContentPane与setcontentPane设置一个指定性面板.还能在 JFrame中添加其他需要的组件[91。 3.3客户端的设计 通过Socket建立与服务器的连接。服务器能够与 BufferedReader、PrintWriter建立一个双向交流、输入系统,通 过双方输入或者输出方式完成信息传递.一旦接收到了客户 最后,服务器的连接在ConnectServer()函数中实现。这一 连接请求,服务器就能使用accept()函数新建一个Socket对 函数具有连续性与规则性,能够依据IP地址与端口与服务器 象.然后由客户端向服务器发送信息,接收注册、登录或者好 友查找的请求.服务器在接收了请求以后,能够对不同信息进 行处理 在此过程中.服务端也能使用UDP协议方法进行通 连接 IP成为了唯一一个有标识的地址。可以将服务器连接分 为两部分,一部分是服务器端,一部分是客户端。 信,即使这种UDP协议可靠性较差,但是对于聊天工具朱说, 这种可靠性并没有决定性作用17]。 3.3.1用户注册 4结束语 本文主要对网络即时通讯软件设计方法与设计流程进行 了分析.表现了优化设计即时通讯软件能够使信息传输更加 及时、快速,使系统功能更加完善,降低系统通信开销。 服务器收到了用户注册请求以后就可以马上接收与传递 客户信息,比如,客户一t#-别、昵称、头像、个人资料等。信息接收 完毕,服务器使用JdhcOdbc实现与后台数据库的连接,并完 成记录添加。如果是新用户注册,则可以将号码返回给用户, 参考文献 [1】邝丽蓉.网络即时通讯软件在大学英语听说教学中的运同Ⅲ.考试 周刊,2011(90):105~1()6. 并在数据库中注册一个IP地址,设置Status并告知用户显示 在线,标记为Status1。客户收到了服务器提供的信息以后,将 主程序窗口打开,创建UDP与用户建立关联【8)。 3-3-2处理注册事件 [2]厉进.信息时代网络即时通讯软件的发展思路与来来¨1.科技资讯, 2O1O(17):2. [3]顾立平.Web2.0用户行为调查研究——以中国科学院学生使用社会 软件为例叨.图书情报工作,2011,51(9):t00--104,83. 漕译拇 一方法研究 种新的通信信号 识别 要】灰色关联分析的理论工具是序列间的灰色关联度,它是两个因素之间或者是两个系统之间关联的程度的量度,描述了系统发展过程 赵凌伟(中国人民解放军91404部队94分队,河北省秦皇岛066001) 【摘中各因素间的相对变化情况。本文在原有香农熵权的灰色关联决策融合算法的基础上,提出了近似熵权的灰色关联决策融合算法,对于通信信 号的仿真识别结果表明,近似熵权算法的效果最好。 【关键词】通信信号识别;灰色关联;决策融合;香农熵;近似熵 【中图分类号】TN958I3 【文献标识码】A 【文章编号】1006—4222(2016)07—0084—02 引言 在决策融合的研究领域,灰色关联分析是一种重要的系 统分析方法.它是对系统变化发展的态势进行比较的定量的 描述方法 灰色关联分析的理论工具是序列之间的灰色关联 度.灰色关联度表示的是两个因素或者两个系统之间的关联 程度,如果发展变化趋势基本相同,那么两者之间的灰色关联 度大,关联程度高;反之,灰色关联度小,关联程度低【”。本文提 出了一种基于近似熵的灰色关联度算法,在对通信信号的识 别中.该方法较原始的邓氏灰色关联融合算法与香农熵权灰 算法中[21。引入信息熵可以摆脱专家的主观判断,更具有实际 应用价值 不同的特征赋予不同的权重之后,定义加权灰色关 联度: N ^y。=∑r;i(j) (j),i=l,2,…,M j=1 N ∑仅,(j)=1,d,(j)≥0 J=1 (3) 其中香农熵权的算法步骤为: (1)首先根据第i个比较序列中第j个特征的绝对差去顶 初始矩阵△: 色关联融合算法有较明显的效果。 l灰色关联融合算法 关联系数和关联度: △=(A ) =【△ A。 ,…,A。N] (4) 其中:i=l,2,…,M,j=l,2,…,N。 M 定义两个序列X0={xo(k)Ik=l,2,…,n}和X。={Xi(k)Ik: 1,2,…,nl在k点的关联系数∈。(k)为: mc,l,、-(2)计算pij:△ /∑△ 。 l=l inmin Ixo(k)-X·(k)I+pmaxmax lxo(k)-x;(k1 I i(3)计算第J个特征的的剩余度。 鲁(k)= 其中: k面 … ( ) 偏差较大的特征相对更能反映类型之间的差别.所以认 为差异越大的特征对系统的影响越大,所以定义第i个特征 的剩余度Dj为: D,=1一ej M xo={x0(k)Ik=l,2,…,n} X =fX (k)fk=1,2,…,n},i=l,2,…,m 分别是X。和X 的初值化或均值化序列。 (5) 其中:Ej=一∑p In ,E一=InM,ej=E /E 。 l=l P∈(O,l1。 定义X。关于Xo的邓氏关联度 i为: (4)计算第j个特征的权重ai(j) N ^y.= ∑ ) 2香农熵权灰色关联融合算法 (2) ai(j)=Dj/ D J:l (6) 3近似熵权灰色关联融合算法 近似熵是对非线性时间序列复杂度的一种非负的定量描 通过关联度的计算公式可以看出,计算过程中,每个特征 都赋予了相同的权重.而实际情况下每个特征的贡献不同,所 以邓氏关联度的实用性较弱 我们知道在信息应用领域。信息 熵是对系统不确定性的描述.熵值越大系统的不确定性就越 述I引,在计算近似熵过程中,需要两个固定的参数m、r,其中m 是比较序列的长度,即窗口长度,也称为模式维数,r是一个有 效的阈值,称为相似容限,这两个参数在整个计算过程中固定 不变。给出N个点U(1),u(2),…,u(N),对固定的m和r定义 大.反之系统的不确定性越小,所以将信息熵引入到灰色关联 聂永有,费金玲.从即时通讯软件的迅速发展看网络经济效应的作 用机理fJJ.经济师,2010(1):69 ̄70. f51李延松,余隋怀,吴博,等.基于Socket的安全即时通讯软件的设计 lJ1.科学技术与工程,2010,7(12):2974-2977. f6]张良卫.基于双边市场理论的即时通讯行业网络外部性研究——以 腾讯公司为例fD1.上海交通大学,2011. 【8】胥莉,王耀斌,陈丽,等.广告支持型双边市场的网络效应——即 时通讯市场的实证分析fJ].系统管理学报,2011,17(6):615-621. 【9】陈凌,陈广益.在线教翻译——基于QQ即时通讯软件的实证研究 [J1.上海翻译,2014(2):38-43. 收稿日期:2016—3—28 f71李沛荣彳1用现有信息环境建立学生班级管理系统——基于QQ群 上的毕业班班级管理fJ1.中国新技术新产品,2011(10):15-16. 警雄 |}