[发明专利]基于HTTP协议的客户端与服务器之间的数据交互方法在审
申请号: | 201710304395.8 | 申请日: | 2017-05-03 |
公开(公告)号: | CN106941536A | 公开(公告)日: | 2017-07-11 |
发明(设计)人: | 姜楠;徐炜新;李媛媛;汤兆平;张恒 | 申请(专利权)人: | 华东交通大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 深圳市智圈知识产权代理事务所(普通合伙)44351 | 代理人: | 韩绍君 |
地址: | 330013 江西*** | 国省代码: | 江西;36 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 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窗口大小信息。
在其中一种实施方式中,所述服务器与所述客户端之间共相互发送四次数据包完成断开连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东交通大学,未经华东交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710304395.8/2.html,转载请声明来源钻瓜专利网。