一种Egret引擎的前端数据发送处理的方法技术

技术编号:17413369 阅读:49 留言:0更新日期:2018-03-07 09:13
一种Egret引擎的前端数据发送处理的方法,将传递的数据封装成字符串;将传递的参数与后台协定好的参数进行md5加密,保证数据安全性;在外层添加一个消息类型的参数保证前后台参数一致,用于后台识别。后台接受消息后按照约定好的对参数进行md5加密,二者进行比较是否参数被人修改过,判断数据格式是否正确。使用了本方法能够有效的避免数据参数错误后台无法处理的问题,并且可以有效保证数据传递的安全性。

A method of sending and processing front end data of Egret engine

Method of processing a data transmission Egret engine, encapsulates data transfer into string parameters and the background; the agreement transfer good MD5 encryption to ensure the security of the data; add the parameters of a message type that Taiwan before and after the parameters in the outer layer, for background recognition. After the background receives the message, the MD5 encryption is carried out according to the agreed parameters, and the two is compared to whether the parameters have been modified to judge whether the data format is correct. This method can effectively avoid the problem that the data parameter error backstage can not be handled, and can effectively guarantee the security of data transfer.

【技术实现步骤摘要】
一种Egret引擎的前端数据发送处理的方法
本专利技术属于互联网大数据处理领域,特别涉及一种Egret引擎的前端数据发送处理的方法,通过该方法来优化数据的传输效率和提高用户体验。
技术介绍
随着互联网技术的飞速发展,各个方面的应用就需要于后台进行大量的数据请求。Egret是一套完整的HTML5游戏开发解决方案。Egret中包含多个工具以及项目。Egret引擎(EgretEngine,白鹭引擎)是一个基于TypeScript语言开发的HTML5游戏引擎,该项目在BSD许可证下发布。使用EgretEngine开发的游戏可发布为HTML5版本,运行于浏览器之中。各种各样的网站,以及手机上的app等等,都使用Http数据请求。这些数据请求传递给后台不同的参数,后台进行不同的处理。但如果传递的参数,没有按照与后台约定好的数据格式、参数字段来发送,后台将会无法处理。在数据交互的过程中,经常会发生因一些不当操作导致参数传递错误或人为恶意发送消息给服务器,可能导致服务器无法正确响应,从而前后端消息不同步。尤其在游戏app中,数据发送不对,后台无法做出响应。一旦后台无法响应,前端就无法收到有效信息反馈,用户不能正确操作。这样将严重影响用户的体验,面临极大的风险。
技术实现思路
本专利技术旨在解决上述Egret引擎下Http数据请求传递中的风险问题。为了达到上述目的,本专利技术提供了一种Egret引擎的前端数据发送处理的方法,前端发送数据请求,传递给后台不同的参数,后台根据消息类型进行相应的处理;前端进行数据封装,并将参数进行md5加密发送。本专利技术通过封装好的数据发送给后台,提高了开发效率;将参数进行md5加密提高了程序的安全性。通过提高开发效率和程序的安全性,Egret引擎下Http数据请求在传递中的风险得以降低。做为进一步优化,本专利技术中,前台跟后台协定好要处理的消息类型及对应格式,将传递的参数按约定的格式拼接成字符串,在字符串外边加上一个标志消息类型的字符串。前台封装的数据需要提供对应的消息类型用于后台解析:前台把用到的参数传递到后台,后台接收到参数之后,根据传递的信息类型标志进行解析读取出来参数的值;进行前后端比较,防止后台无法处理不能识别的参数,提高了安全性。做为一种优选,本专利技术中,前台数据的参数包含了url、params、listener和thisObj四个参数;其中,url是string类型,表示了服务器地址;params是string类型,表示了封装好的参数内容;listener是Function类型,表示了回调方法,用于处理服务器的响应;thisObj是any类型,表示了发起请求的类型。通过这四个参数的设置,可以将前端的数据请求中的服务器地址、参数内容、回调方法、发起请求的类型等重要信息予以具体明确并格式化固定。做为进一步改进,本专利技术中,封装发送数据的前端的接口,对后台的服务器响应进行监听,当有消息返回的时候并调用listener方法进行处理。通过前台监听后台的消息返回,可实现前端发送数据请求的回调,提高数据传递的准确性和成功率。做为进一步改进,本专利技术中,后台将传递来的参数进行解析并将参数进行md5加密,与前端传递过来的md5加密的值比较;一样则进行处理,不一样则参数有问题,直接返回前台参数错误的提醒。前台将传递的参数进行md5加密,保证数据安全性。后台接受消息后解析,并按照约定好规则再次对参数进行md5加密。二者md5加密的数值进行比较,从而可以判断是否参数被人修改过,判断数据格式是否正确。能够有效的避免数据参数错误后台无法处理的问题,并且在使用上因为有两个md5加密过的参数可以有效保证安全性。做为进一步改进,本专利技术中,前端提供一个供处理后台响应的接口,在前端接受到后台返回的消息后对其进行解析,并根据约定参数的数值判断服务器的处理结果。这样,前端和后端能形成有效的双向沟通,提高了数据传递的信息准确性。附图说明以下结合附图和具体实施方式来进一步说明本专利技术。图1是本专利技术一实施例的流程示意图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本专利技术。如图1所示,本实施例的流程为:1、定义一个枚举,标志消息类型。比如enumMsgType{Login=0,//登录GetRole=1,//获取角色},服务器根据发过去的这个参数的值判断是什么类型消息,对不同消息进行不同处理;2、封装一个发送Http请求接口,供前端调用,接收前端传递过来的参数;该接口里对http消息进行封装,并对消息进行监听。publicstaticpostRequest(url:string,params:string,listener:Function,thisObject:any),其中url是服务器的地址,params是封装后的参数字符串,listener是个回调方法,用于处理服务器的响应,thisObject是发起请求的类;实例化一个HttpRequest对象varrequest=newegret.HttpRequest();设置它的响应类型responseType:request.responseType=egret.HttpResponseType.TEXT;通过open方法初始化请求一个对象,初始化请求地址和请求类型request.open(url,egret.HttpMethod.POST);通过setRequestHeader设置请求头信息。如果是POST带参数的请求这一步很重要,需要告诉服务端请求的参数格式,而且这一步需要在open之后执行;request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");通过send方法发送请求,如果是post方法可以传入参数request.send(params);添加监听,监听服务器端的响应,包括进度事件和请求成功和失败事件request.addEventListener(egret.Event.COMPLETE,listener,thisObject);request.addEventListener(egret.IOErrorEvent.IO_ERROR,listener,thisObject);3、将要传递给后台的数据进行md5加密,加密的格式需要前端与后台协商好;将需要传递的参数的值按约定好的格式封装成一个字符串,比如letstr=`www${this.lvl}${Math.floor(this.lvlEssens)}${Math.floor(this.lvlExp)}`;引入md5第三方库,调用加密方法str=newmd5().hex_md5(str);这里得到的str就是加密后的值;4、将数据按照参数拼成一个字符串,将消息类型与加密值也一起拼接;比如varparams="msgType="+MsgType.LvlSuccess+"&lvl="+this.lvl+"&lvlExp="+this.lvlExp+"&lvlEssens="+this.lvlEssens+"&deadEnemyNum="+this本文档来自技高网...
一种Egret引擎的前端数据发送处理的方法

【技术保护点】
一种Egret引擎的前端数据发送处理的方法,前端发送数据请求,传递给后台不同的参数,后台根据消息类型进行相应的处理,其特征在于:前端进行数据封装,并将参数进行md5加密发送。

【技术特征摘要】
1.一种Egret引擎的前端数据发送处理的方法,前端发送数据请求,传递给后台不同的参数,后台根据消息类型进行相应的处理,其特征在于:前端进行数据封装,并将参数进行md5加密发送。2.根据权利要求1所述的一种Egret引擎的前端数据发送处理的方法,其特征在于:前台跟后台协定好要处理的消息类型及对应格式,将传递的参数按约定的格式拼接成字符串,在字符串外边加上一个标志消息类型的字符串。3.根据权利要求2所述的一种Egret引擎的前端数据发送处理的方法,其特征在于:上述参数包含了url、params、listener和thisObj四个参数;其中,url是string类型,表示了服务器地址;params是string类型,表示了封装好的参数内容;listener是Function类型,表示了回调方...

【专利技术属性】
技术研发人员:陈赫
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1