基于HTTP协议的客户端与服务器之间的数据交互方法技术

技术编号:15800100 阅读:218 留言:0更新日期:2017-07-11 14:01
本发明专利技术涉及一种基于HTTP协议的客户端与服务器之间的数据交互方法,应用于智能家居系统中,以使用户的客户端与智能家居系统的服务器之间建立稳定的网络连接并进行数据交互。所述方法包括步骤:所述客户端与所述服务器之间相互发送数据包,建立所述客户端与所述服务器之间的TCP连接;所述客户端通过HTTP协议向所述服务器发送服务请求指令,所述服务器通过HTTP协议回复所述客户端的请求;所述服务器主动断开TCP连接,并保持TCP连接处于打开状态;以及所述客户端与所述服务器之间采用HTTP协议短连接进行数据交互。上述的数据交互方法,信息传输的实时性高且服务器的压力较小。

Data interaction method between client and server based on HTTP protocol

The invention relates to a method for data interaction between client and server based on HTTP protocol, on the application of intelligent Home Furnishing system, to establish a stable network connection and data exchange between the client and the server Home Furnishing intelligent system users. The method comprises the steps of: between the client and the server to send data packets, is established between the client and the server TCP connection; the client to the server through the HTTP protocol to send service request command, the server on the client request reply through HTTP protocol; the server take the initiative to disconnect TCP and TCP and keep the connection open; and between the client and the server using HTTP protocol short connection for data interaction. The above data interaction method has the advantages of high real-time information transmission and less pressure on the server.

【技术实现步骤摘要】
基于HTTP协议的客户端与服务器之间的数据交互方法
本专利技术涉及一种基于HTTP协议的客户端与服务器之间的数据交互方法。
技术介绍
智能手机的迅速普及,与人们的实用需求是分不开的。用户体验作为人们针对使用或期望使用的产品、系统或者服务的认知印象和回应,是用户的纯主观感受,但用户体验同样注重实际应用效果。智能家居是科技创新和人们需求的产物,作为一个系统、一个平台,无论是使用环境,抑或是家居生活产品,都是以用户的实际需求为出发点和落脚点,因而用户体验是一个无法回避的话题。客户端应用程序不仅要方便简洁,使用户能够一目了然,更重要的是用户执行了控制操作之后,能够及时得到反馈,以实时地了解自己已经操作成功。客户端应用程序应该允许用户实时地了解当前什么设备处于什么状态,并在运行过程中降低客户端与云服务端的相互影响。智能家居系统都需要与用户进行形象化的交互,因此,用户的应用程序与服务器的交互必不可免。传统的应用程序与智能家居系统之间的连接基于TCP协议,即,应用程序基于TCP协议与服务器保持长连接,让用户能够在应用程序上直接看到当前的设备状态。上述的应用程序与服务器之间基于TCP协保持长连接的功能实现如图3所示,具体包括如下步骤:步骤一:采用TCP协议,用户的应用程序端相当于客户端,云服务相当于服务器端。当应用程序主动向云服务获取设备状态时,首先需要在客户端与服务器之间建立一个连接用于发送数据。步骤二:客户端与服务器之间建立连接时,需要客户端和云服务总共发送三个数据包,就是所谓的三次握手。三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换TCP窗口大小信息。在socket编程中,客户端执行connect()时将触发三次握手。步骤三:当完成三次握手,应用程序就可以与云服务相互发送数据信息,应用程序发送获取设备状态或控制设备状态的数据请求/控制信息,云服务收到客户端发送的数据,及时做出处理,并回馈设备信息。步骤四:TCP为云服务提供报活功能,云服务会一直保持长连接。如果一个给定的连接在两小时内没有任何的动作,云服务就向客户端发一个探测报文段,从而保证客户端与云服务之间连接的存活。步骤五:只有当客户端的连接请求的进程被杀死或者用户关闭了应用程序,云服务的探测报文在长时间无法收到回馈消息时,云服务执行TCP四次挥手主动断开该连接。上述的基于TCP长连接的应用程序访问云服务获取/控制设备的实现方案,会降低云服务的吞吐量,且不能将云服务与客户端很好的分层独立起来,云服务需要保持每一个客户端的连接,增加了云服务的损耗。当客户端越来越多的时候,云服务的压力越来越大。另外,客户端的性能严重影响云云服务,使云端服务受用户应用程序的限制。
技术实现思路
本专利技术实施例的目的在于提供一种基于HTTP协议的客户端与服务器之间的数据交互方法,用于解决上述技术问题。一种基于HTTP协议的客户端与服务器之间的数据交互方法,应用于智能家居系统中,以使用户的客户端与智能家居系统的服务器之间建立稳定的网络连接并进行数据交互。所述方法包括步骤:所述客户端与所述服务器之间相互发送数据包,建立所述客户端与所述服务器之间的TCP连接;所述客户端通过HTTP协议向所述服务器发送服务请求指令,所述服务器通过HTTP协议回复所述客户端的请求;所述服务器主动断开TCP连接,并保持TCP连接处于打开状态;以及所述客户端与所述服务器之间采用HTTP协议短连接进行数据交互。在其中一种实施方式中,所述客户端向所述服务器发送的HTTP请求报文包括请求头部、请求行以及请求数据。在其中一种实施方式中,所述服务器主动断开TCP连接时,在其所发送的报文的请求头部信息中设置维持TCP连接为打开状态,使TCP连接在数据发送完毕之后仍然保持打开状态。在其中一种实施方式中,所述请求头部包括头部字段名,所述请求行包括请求方法、URL地址以及协议版本。在其中一种实施方式中,所述客户端与所述服务器之间建立TCP连接时,所述客户端向所述服务器发送数据包后,所述服务器向所述客户端回复数据包,所述客户端再次向所述服务器发送数据包,所述TCP连接建立完成。在其中一种实施方式中,所述客户端与所述服务器之间建立TCP连接时,同步双方的序列号和确认号,并交换TCP窗口大小信息。在其中一种实施方式中,所述服务器与所述客户端之间共相互发送四次数据包完成断开连接。在其中一种实施方式中,所述服务器主动断开TCP连接时,所述服务器向所述客户端发送数据包,所述客户端向所述服务器回复数据包后,所述客户端再次向所述服务器发送数据包,所述服务器再次向所述客户端回复数据包,完成断开连接。在其中一种实施方式中,所述客户端与所述服务器进行数据交互时,若所述服务器收到智能家居系统的设备状态变化的信息,则主动将设备状态信息传送至所述客户端。在其中一种实施方式中,所述服务器通过第三方推送平台将设备状态信息推送至所述客户端。相对于现有技术,本专利技术实施例提供的基于HTTP协议的客户端与服务器之间的数据交互方法中,所述客户端与所述服务器首先采用TCP协议建立连接,以保证连接的稳定性。然后采用HTTP协议短连接,确保客户端与服务器直接数据交互完成之后能够及时断开连接,降低服务器的资源损耗。在所述客户端与所述服务器进行数据交互时,采用短连接,使所述服务器与所述客户端的分层结构更加明显,降低两者之间的相互影响。同时,使用HTTP协议进行数据传输,增加了数据传输效率,避免所述服务器为长连接的存活一直占用资源。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的基于HTTP协议的客户端与服务器之间的数据交互方法的流程示意图;图2是本专利技术实施例提供的HTTP协议请求报文的结构示意图。图3是
技术介绍
的基于TCP协议的客户端与服务器之间的数据交互方法的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施方式提供一种基于HTTP协议的客户端与服务器之间的数据交互方法,该数据交互方法应用于智能家居系统中,使用户的客户端与智能家居系统的服务器之间建立稳定的网络连接并进行数据交互,以允许用户能够从客户端上实时地掌握智能家居的设备信息。在本专利技术实施方式中,用户通过安装在客户端的应用程序与所述服务器进行交互,所述客户端为具有网络通信功能的便携式电子装置,所述客户端包括但不限于手机、平板电脑、智能手表等。在本专利技术实施方式中,所述服务器为部署在云端的云服务器,所述客户端通过无线网络连接至云服务器,并与云服务器进行数据交互。请参阅图1,上述的基于HTTP协议的客户端与服务器之间的数据交互方法包括以下步骤:步骤一:客户端与服务器之间相互发送数据包,建立所述客户端与所述服务器之间的TCP连接。当客户端本文档来自技高网
...
基于HTTP协议的客户端与服务器之间的数据交互方法

【技术保护点】
一种基于HTTP协议的客户端与服务器之间的数据交互方法,应用于智能家居系统中,以使用户的客户端与智能家居系统的服务器之间建立稳定的网络连接并进行数据交互,所述方法包括步骤:所述客户端与所述服务器之间相互发送数据包,建立所述客户端与所述服务器之间的TCP连接;所述客户端通过HTTP协议向所述服务器发送服务请求指令,所述服务器通过HTTP协议回复所述客户端的请求;所述服务器主动断开TCP连接,并保持TCP连接处于打开状态;以及所述客户端与所述服务器之间采用HTTP协议短连接进行数据交互。

【技术特征摘要】
1.一种基于HTTP协议的客户端与服务器之间的数据交互方法,应用于智能家居系统中,以使用户的客户端与智能家居系统的服务器之间建立稳定的网络连接并进行数据交互,所述方法包括步骤:所述客户端与所述服务器之间相互发送数据包,建立所述客户端与所述服务器之间的TCP连接;所述客户端通过HTTP协议向所述服务器发送服务请求指令,所述服务器通过HTTP协议回复所述客户端的请求;所述服务器主动断开TCP连接,并保持TCP连接处于打开状态;以及所述客户端与所述服务器之间采用HTTP协议短连接进行数据交互。2.如权利要求1所述的方法,其特征在于,所述客户端向所述服务器发送的HTTP请求报文包括请求头部、请求行以及请求数据。3.如权利要求2所述的方法,其特征在于,所述服务器主动断开TCP连接时,在其所发送的报文的请求头部信息中设置维持TCP连接为打开状态,使TCP连接在数据发送完毕之后仍然保持打开状态。4.如权利要求2所述的方法,其特征在于,所述请求头部包括头部字段名,所述请求行包括请求方法、URL地址以及协议版本。5.如权利要求1所述的...

【专利技术属性】
技术研发人员:姜楠徐炜新李媛媛汤兆平张恒
申请(专利权)人:华东交通大学
类型:发明
国别省市:江西,36

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

1