本发明专利技术提供的基于实体类的客户端与服务器通信的方法,包括定义客户端与服务器用于数据传输的实体类以及客户端和服务器通信的通信接口及通信函数;服务器开启服务,客户端将数据赋予到对应的实体类并序列化为Json报,通过通信接口发送到服务器;服务器端对Json报进行反序列化得实体类数据,通过业务处理得结果;服务器端将结果赋予到到实体类中,并将实体类数据序列化为Json报文字节序列,通过通信接口返回到客户端;客户端对Json报文字节序列进行反序列化得到实体类数据,再对该实体类数据进行业务处理。本发明专利技术提供的基于实体类的客户端与服务器通信的方法有效减轻通信压力和项目复杂度,使客户端与服务器端的通信更加简洁高效。
【技术实现步骤摘要】
本专利技术涉及互联网通信
,尤其涉及一种。
技术介绍
互联网发展初期,网页比较简单,仅包括文字或少量图片,在传统移动终端上,浏览器一般采用HTTP协议来访问服务器。但随着互联网的发展,网页的内容和形式越来越丰富,网页内容不仅包含了文字,还有大量的图片、多媒体信息和外接等。根据2012年google的统计显示,每幅网页大概有88个资源,需要访问14个不同的站点,并且平均大小640KB。当前在基于互联网的科研中,无论采用C/S架构还是B/S架构,要开发一种软件或者产品,一般使用C类语言或Java类语言,若各模块使用同一类语言,则无通信流畅,但随着技术的不断发展与更新,在越来越多的情况下,需要使用多类编程语言共同开发程序,如使用C类语言编写客户端和Java类语言编写服务器端,但是数据类型不同、数据格式不统一等原因,会造成各模块间的数据通信出现问题。为了解决上述问题,目前的解决方案是套接字方法,每次通信时,首先在客户端和服务器端建立一个通道来连接客户端请求到服务器端的特定端口,继而将客户端的字段逐个读出来,存到流、xml、properties等载体中,然后通过载体将字段发送到服务器端,服务器端进行解析,重新生成对象,再次将字段保存到流、xml、properties等载体,回传到客户端。这种解决方案的数据传递方向是客户端_>流、xml、properties等载体_>服务器端_>流、xml、properties等载体-> 客户端;同时造成了很多问题,主要有两个方面:1、数据要在客户端与载体、服务器端与载体之间不停地转换,过程比较复杂并且很容易产生错误;2、在于不同的客户端可能由不同的语言编写,在于服务器端的通信过程中,就需要不同格式的中间载体,加大了项目复杂度,难于管理。尤其是在复杂的大型项目中,复杂的数据类型、大量的数据与多种格式的通信中间载体不仅容易在数据转换中产生数据失真等问题,也容易因为通信压力过大引起通信崩溃。因此,对于现有技术所存在的问题,迫切需要本领域技术人员解决的技术问题是提供有效措施,以解决现有技术存在的问题。
技术实现思路
本专利技术所要解决的技术问题是提供一种,用于减轻通信压力和项目复杂度,使客户端与服务器端的通信更加简洁高效。为了解决上述问题,本专利技术公开了一种,包括:定义客户端与服务器用于数据传输的实体类;定义客户端和服务器通信的通信接口及通信函数;通信过程中服务器开启服务,客户端将数据赋予到对应的实体类并序列化为Json报文字节序列,通过通信接口发送到服务器端;服务器端对Json报文字节序列进行反序列化得到实体类数据,通过业务处理得至丨J结果;服务器端将结果赋予到到实体类中,并将实体类数据序列化为Json报文字节序列,通过通信接口返回到客户端;客户端对Json报文字节序列进行反序列化得到实体类数据,再对该实体类数据进行业务处理。进一步地,所述定义客户端和服务器通信的通信接口及通信函数包括定义服务器端的通信接口及通信函数、定义客户端的通信接口及通信函数和实现客户端访问服务器端的流程。进一步地,所述方法在客户端定义通信接口时同时说明实体类对应的通信接口名称及其名下对应的服务。进一步地,所述方法还包括:定义通信类、数据访问基类、封装基的数据操作以及每一个实体类对应的数据访问类。进一步地,客户端发送数据到服务器端的方法时,数据访问类调用数据访问基类,数据访问基类再调用通信类,在通信类中将实体类数据序列化为Json报文字节序列,通过通信接口访问服务器端对应的服务。进一步地,所定义的客户端与服务器用于数据传输的实体类完全相同。进一步地,所述定义客户端与服务器用于数据传输的实体类时,使用SybasePower Designer工具设计实体类并编写相应的控制代码,分别生成客户端与服务器对应的实体类代码。进一步地,通信时客户端通过IP地址及端口访问服务器,再通过通信接口连接到具体的服务。进一步地,所述文本结束符在同一附件里只出现一次。综上,本方案应用于明文数据传输接收中,可以利用其简洁高效的编码解码效率,大大降低了密文的长度及存储空间,增强信道的传输速率,从而减少数据的传输延迟;同时,利用门限方案和可信第三方增加了传输数据的安全性。附图说明图1是本专利技术的本专利技术的一种的流程示意图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图与实例对本专利技术作进一步详细说明。但所举实例不作为对本专利技术的限定。参见图1所示,本专利技术的一种的流程示意图,具体包括以下主要步骤:步骤SA01,定义客户端与服务器用于数据传输的实体类;步骤SA02,定义客户端和服务器通信的通信接口及通信函数;步骤SA03,通信过程中服务器开启服务,客户端将数据赋予到对应的实体类并序列化为Json报文字节序列,通过通信接口发送到服务器端;步骤SA04,服务器端对Json报文字节序列进行反序列化得到实体类数据,通过业务处理得到结果;步骤SA05,服务器端将结果赋予到到实体类中,并将实体类数据序列化为Json报文字节序列,通过通信接口返回到客户端;步骤SA06,客户端对Json报文字节序列进行反序列化得到实体类数据,再对该实体类数据进行业务处理。具体的,本专利技术提出一种基于实体类的用于C编写的客户端与Java编写的服务器端进行通信的方法,使不同的C类开发语言都能通过实体类直接与服务器进行通信,降低通信负担、提高通信效率,增强系统的健壮性。实际应用中,客户端与服务器通信包括四个部分:服务器端与客户端定义完全相同的实体类(101)、服务器端与客户端定义通信接口(102),这是整个模型的基础;客户端处理数据(103),包括处理发送到服务器端的数据和处理从服务器端接收到的数据;服务器端处理数据(104),包括处理从客户端接收到的数据和处理发送到客户端的数据。101:服务器端与客户端定义完全相同的实体类,这是整个通信的基础,这些实体类既可以作为通信中数据传输的载体,也可以作为客户端与服务器端进行业务处理时的数据对象。为了保证客户端与服务器端的实体类完全相同,可以使用Sybase Power Designer工具设计实体类并编写相应的控制代码,以便分别生成客户端与服务器端对应的实体类代码。102:服务器端与客户端定义通信接口,这是整个通信的通道。该通信接口由两部分组成,分别是handler定义一个实体类对应的所有服务的通信接口,service来定义handler中的一个通信服务的具体流程。通信时,客户端通过IP地址及端口访问服务器端,再通过通信接口连接到具体的服务。以上两个步骤是整个模型的基础准备,接下来客户端设置对应服务器端的IP地址和端口号,服务器端开启服务,进入通信流程。103:客户端处理数据,包括处理发送到服务器端的数据和处理从服务器端接收到的数据。客户端处理发送到服务器端的数据步骤I客户端业务流程产生的实体类数据与调用的通信接口首先进入数据访问类;步骤2由数据访问类进入数据访问基类,数据访问基类包括有参数、有返回值的通信接口调用,有参数、无返回值的通信接口调用,无参数、有返回值的通信接口调用,实体类数据通过调用其中一个接口进入数据访问基类;步骤3由数据访问基类进入通信类,通信类包括通信函数的初始化、通信、本文档来自技高网...
【技术保护点】
一种基于实体类的客户端与服务器通信的方法,其特征在于,包括:定义客户端与服务器用于数据传输的实体类;定义客户端和服务器通信的通信接口及通信函数;通信过程中服务器开启服务,客户端将数据赋予到对应的实体类并序列化为Json报文字节序列,通过通信接口发送到服务器端;服务器端对Json报文字节序列进行反序列化得到实体类数据,通过业务处理得到结果;服务器端将结果赋予到到实体类中,并将实体类数据序列化为Json报文字节序列,通过通信接口返回到客户端;客户端对Json报文字节序列进行反序列化得到实体类数据,再对该实体类数据进行业务处理。
【技术特征摘要】
1.一种基于实体类的客户端与服务器通信的方法,其特征在于,包括: 定义客户端与服务器用于数据传输的实体类; 定义客户端和服务器通信的通信接口及通信函数; 通信过程中服务器开启服务,客户端将数据赋予到对应的实体类并序列化为Json报文字节序列,通过通信接口发送到服务器端; 服务器端对Json报文字节序列进行反序列化得到实体类数据,通过业务处理得到结果; 服务器端将结果赋予到到实体类中,并将实体类数据序列化为Json报文字节序列,通过通信接口返回到客户端; 客户端对Json报文字节序列进行反序列化得到实体类数据,再对该实体类数据进行业务处理。2.如权利要求1所述的基于实体类的客户端与服务器通信的方法,其特征在于: 所述定义客户端和服务器通信的通信接口及通信函数包括定义服务器端的通信接口及通信函数、定义客户端的通信接口及通信函数和实现客户端访问服务器端的流程。3.如权利要求1所述的基于实体类的客户端与服务器通信的方法,其特征在于,所述方法在客户端定义通信接口时同时说明实体类对应的通信接口名称及其名下对应的...
【专利技术属性】
技术研发人员:何泾沙,张伊璇,史秀鹏,万雪娇,刘公政,
申请(专利权)人:北京工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。