CN105391536A - 一种客户端和服务端进行通信的方法及装置 - Google Patents
一种客户端和服务端进行通信的方法及装置 Download PDFInfo
- Publication number
- CN105391536A CN105391536A CN201510713859.1A CN201510713859A CN105391536A CN 105391536 A CN105391536 A CN 105391536A CN 201510713859 A CN201510713859 A CN 201510713859A CN 105391536 A CN105391536 A CN 105391536A
- Authority
- CN
- China
- Prior art keywords
- service end
- client
- full duplex
- carry out
- connection request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种客户端和服务端进行通信的方法及装置,包括:客户端向服务端发送全双工连接请求;所述服务端对接收到的所述全双工连接请求进行验证;验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接;当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端,所述服务端在推送过程中可同时接收来自所述客户端的消息。本发明通过在服务端和客户端建立全双工模式的连接,服务端更新的信息无需客户端再发送轮询信息,就能够通过该连接主动迅速地推送到客户端,减少了网络延迟和网络资源的消耗,保证了客户端数据的有效性。
Description
技术领域
本发明涉及网络应用技术领域,特别是涉及一种客户端和服务端进行通信的方法及装置。
背景技术
在进行Web应用开发时,服务端的信息需要迅速实时地被客户端获取,现有的客户端获取服务端信息的模式主要有以下几种:轮询、HTTP长连接或者在客户端安装插件。
使用轮询的方式需要浏览器不断向服务器发送请求,而每次发送的HTTP请求都包含着完整的HTTP头信息和一次TCP连接的建立,客户端和服务器对于频繁的发送请求和返回响应都有一定的性能消耗,将会占用很多带宽和服务器资源。当连接到同一个服务器上的客户端数量较多时,将会大大增加服务器的负担。
采用HTTP长连接让服务器端以一种非常缓慢的方式来推送数据,虽然与轮询的方法相比有了一定的改进,但这是一种半双工的连接方式,服务器推送一批数据时不能及时地将收到的新信息也一并推送,且服务器每次推送完毕,客户端还得重新建立一次连接。因此在推送的过程中就会造成大量的冗余信息,增加网络的负担,从而导致客户端数据延迟。
而在客户端安装插件进行消息推送的方法不利于维护,而且还有可能因为客户端的缓存原因导致页面上显示一些过时的信息。
鉴于此,提供一种客户端和服务端进行通信的方法及装置是非常有必要的。
发明内容
本发明的目的是提供一种客户端和服务端进行通信的方法及装置,以减少网络负载以及网络延迟,保证客户端能够及时获取最有效的数据。
为解决上述技术问题,本发明提供一种客户端和服务端进行通信的方法,包括:
客户端向服务端发送全双工连接请求;
所述服务端对接收到的所述全双工连接请求进行验证;
验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接;
当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端,所述服务端在推送过程中可同时接收来自所述客户端的消息。
可选地,所述客户端向服务端发送全双工连接请求包括:
在建立TCP连接后,所述客户端向所述服务端发送包含全双工连接请求的报文。
可选地,所述验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接包括:
验证成功后,将所述验证结果包含在应答报文中回复至所述客户端,在所述客户端以及所述服务端之间建立全双工连接。
可选地,所述当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端包括:
当所述服务端在第一次数据更新未完毕,而数据进行第二次更新时,所述服务端可直接对第二次更新的数据进行发送。
本发明还提供了一种客户端和服务端进行通信的装置,包括:
请求模块,用于向服务端发送全双工连接请求;
验证模块,用于对接收到的所述全双工连接请求进行验证;
建立模块,用于验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接;
发送模块,用于当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端,所述服务端在推送过程中可同时接收来自所述客户端的消息。
可选地,所述请求模块具体用于:在建立TCP连接后,向所述服务端发送包含全双工连接请求的报文。
可选地,所述建立模块具体用于:验证成功后,将所述验证结果包含在应答报文中回复至所述客户端,在所述客户端以及所述服务端之间建立全双工连接。
可选地,所述发送模块具体用于:当所述服务端在第一次数据更新未完毕,而数据进行第二次更新时,所述服务端可直接对第二次更新的数据进行发送。
本发明所提供的客户端和服务端进行通信的方法及装置,客户端向服务端发送全双工连接请求;服务端对接收到的全双工连接请求进行验证后,将验证结果发送至客户端,从而建立全双工连接;这样当服务端信息更新时,可以在全双工连接上主动将更新的信息推送到客户端,且在推送过程中可同时接收来自所述客户端的消息。可见,本发明通过在服务端和客户端建立全双工模式的连接,服务端更新的信息无需客户端再发送轮询信息,就能够通过该连接主动迅速地推送到客户端,减少了网络延迟和网络资源的消耗,保证了客户端数据的有效性。
附图说明
图1为本发明所提供的客户端和服务端进行通信的方法的一种具体实施方式的流程图;
图2为本发明所提供的客户端和服务端进行通信的方法的另一种具体实施方式的流程图;
图3为全双工连接的建立的过程示意图;
图4为全双工连接下服务端同时推送和接收消息的过程示意图;
图5为全双工连接下服务端实时推送数据更新到客户端的过程示意图;
图6为本发明所提供的客户端和服务端进行通信的装置的一种具体实施方式的结构框图。
具体实施方式
传统客户端和服务端进行信息传递的方式是半双工、客户端请求、服务端响应的模式,这种模式下双方的连接会造成大量的网络资源浪费,而且客户端数据无法保证其实时性以及有效性。
鉴于此,本发明的核心是提供一种客户端和服务端进行通信的方法及装置。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所提供的客户端和服务端进行通信的方法的一种具体实施方式的流程图如图1所示,该方法包括:
步骤S101:客户端向服务端发送全双工连接请求;
步骤S102:所述服务端对接收到的所述全双工连接请求进行验证;
步骤S103:验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接;
步骤S104:当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端,所述服务端在推送过程中可同时接收来自所述客户端的消息。
本发明所提供的客户端和服务端进行通信的方法,客户端向服务端发送全双工连接请求;服务端对接收到的全双工连接请求进行验证后,将验证结果发送至客户端,从而建立全双工连接;这样当服务端信息更新时,可以在全双工连接上主动将更新的信息推送到客户端,且在推送过程中可同时接收来自所述客户端的消息。可见,本发明通过在服务端和客户端建立全双工模式的连接,服务端更新的信息无需客户端再发送轮询信息,就能够通过该连接主动迅速地推送到客户端,减少了网络延迟和网络资源的消耗,保证了客户端数据的有效性。
本发明所提供的客户端和服务端进行通信的方法的另一种具体实施方式的流程图如图2所示,该方法包括:
步骤S201:客户端和服务端在建立TCP连接后,客户端向服务端发送包含全双工连接请求的报文;
具体地,在TCP的三次握手协议之后,客户端直接发送全双工连接请求报文到服务端。
步骤S202:服务端对接收到的全双工连接请求进行验证;
具体地,服务端接收到客户端发送的报文后,进行报文验证。
步骤S203:验证成功后,将验证结果包含在应答报文中回复至客户端,在客户端以及服务端之间建立起一条全双工连接;如图3全双工连接的建立的过程示意图所示。
步骤S204:当服务端信息更新时,无需等待客户端的请求,也不用重新建立数据通道连接,而是在之前建立的全双工连接上主动迅速地将服务端更新信息推送至客户端。
如图4全双工连接下服务端同时推送和接收消息的过程示意图所示,在此过程中,服务端仍然能够监听接收客户端的请求,客户端依旧可以发送请求,服务端能够正确接收并进行响应。
当服务端在发送一次更新未完毕数据进行了第二次更新时,服务端无需等待第一次更新发送完毕,可直接将第二次更新的信息向客户端进行推送。
如图5全双工连接下服务端实时推送数据更新到客户端的过程示意图所示,当服务端发送信息更新1且未完毕时,服务端信息更新2动作发生,服务端可直接发送信息更新2,无需等待信息更新1发送完毕或者反馈。
通过上述设置,保证了客户端数据的实时性、有效性,且每次推送接收信息无需建立新的连接,减少了网络负载以及网络延迟。
本发明所提供的客户端和服务端进行通信的装置的一种具体实施方式的结构框图如图6所述,该装置包括:
请求模块100,用于向服务端发送全双工连接请求;
验证模块200,用于对接收到的所述全双工连接请求进行验证;
建立模块300,用于验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接;
发送模块400,用于当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端,所述服务端在推送过程中可同时接收来自所述客户端的消息。
作为一种具体实施方式,上述请求模块100具体用于:在建立TCP连接后,向所述服务端发送包含全双工连接请求的报文。
作为一种具体实施方式,上述建立模块300具体用于:验证成功后,将所述验证结果包含在应答报文中回复至所述客户端,在所述客户端以及所述服务端之间建立全双工连接。
作为一种具体实施方式,上述发送模块400具体用于:当所述服务端在第一次数据更新未完毕,而数据进行第二次更新时,所述服务端可直接对第二次更新的数据进行发送。
本发明所提供的客户端和服务端进行通信的装置与上述方法相对应,可相互参照,在此不再赘述。
综上,本发明所提供的客户端和服务端进行通信的方法及装置,在web客户端和服务端建立了一个全双工的通信连接,当服务器发生信息更新时,无需重新建立新的连接,或者等待客户端更新请求,而是主动将此信息推送给客户端,在此过程中,服务端依旧可接收来自客户端的请求。
本发明通过服务端主动将信息推送到客户端,提高了服务端的主动性;且服务端能够实时快速地推送信息到客户端,保证了客户端数据的有效性;此外,客户端和服务端的信息请求响应无需建立新连接,减少了网络负载。本发明能够适用于单服务器向大量客户端发送实时信息的应用背景中。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种客户端和服务端进行通信的方法,其特征在于,包括:
客户端向服务端发送全双工连接请求;
所述服务端对接收到的所述全双工连接请求进行验证;
验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接;
当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端,所述服务端在推送过程中可同时接收来自所述客户端的消息。
2.如权利要求1所述的客户端和服务端进行通信的方法,其特征在于,所述客户端向服务端发送全双工连接请求包括:
在建立TCP连接后,所述客户端向所述服务端发送包含全双工连接请求的报文。
3.如权利要求2所述的客户端和服务端进行通信的方法,其特征在于,所述验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接包括:
验证成功后,将所述验证结果包含在应答报文中回复至所述客户端,在所述客户端以及所述服务端之间建立全双工连接。
4.如权利要求1至3任一项所述的客户端和服务端进行通信的方法,其特征在于,所述当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端包括:
当所述服务端在第一次数据更新未完毕,而数据进行第二次更新时,所述服务端可直接对第二次更新的数据进行发送。
5.一种客户端和服务端进行通信的装置,其特征在于,包括:
请求模块,用于向服务端发送全双工连接请求;
验证模块,用于对接收到的所述全双工连接请求进行验证;
建立模块,用于验证成功后将验证结果发送至所述客户端,在所述客户端以及所述服务端之间建立全双工连接;
发送模块,用于当所述服务端信息更新时,在建立的所述全双工连接上主动将更新的信息推送到所述客户端,所述服务端在推送过程中可同时接收来自所述客户端的消息。
6.如权利要求5所述的客户端和服务端进行通信的装置,其特征在于,所述请求模块具体用于:在建立TCP连接后,向所述服务端发送包含全双工连接请求的报文。
7.如权利要求6所述的客户端和服务端进行通信的装置,其特征在于,所述建立模块具体用于:验证成功后,将所述验证结果包含在应答报文中回复至所述客户端,在所述客户端以及所述服务端之间建立全双工连接。
8.如权利要求5至7任一项所述的客户端和服务端进行通信的装置,其特征在于,所述发送模块具体用于:当所述服务端在第一次数据更新未完毕,而数据进行第二次更新时,所述服务端可直接对第二次更新的数据进行发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510713859.1A CN105391536A (zh) | 2015-10-28 | 2015-10-28 | 一种客户端和服务端进行通信的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510713859.1A CN105391536A (zh) | 2015-10-28 | 2015-10-28 | 一种客户端和服务端进行通信的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105391536A true CN105391536A (zh) | 2016-03-09 |
Family
ID=55423392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510713859.1A Pending CN105391536A (zh) | 2015-10-28 | 2015-10-28 | 一种客户端和服务端进行通信的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105391536A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317788A (zh) * | 2016-04-26 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 实时数据推送方法和装置 |
CN107360232A (zh) * | 2017-07-14 | 2017-11-17 | 掌阅科技股份有限公司 | 数据变更异步执行方法、电子设备、计算机存储介质 |
CN108667914A (zh) * | 2018-04-24 | 2018-10-16 | 梅泰诺(北京)物联科技有限公司 | 一种信息推送方法、装置、系统及电子设备 |
CN110505641A (zh) * | 2019-08-28 | 2019-11-26 | 西南大学 | 利用全双工UART通信提高ZigBee主从通信轮询效率的方法及其协调器 |
CN112600894A (zh) * | 2020-12-07 | 2021-04-02 | 航天科技控股集团股份有限公司 | 基于非轮询的车辆实时故障报警推送系统及推送方法 |
CN113612628A (zh) * | 2021-07-09 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 一种实现自适应跨网段双向通信的方法、系统 |
CN113726731A (zh) * | 2021-07-15 | 2021-11-30 | 浪潮软件股份有限公司 | 基于tcp实现终端app与服务器实时通讯的方法与系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124219A1 (en) * | 2010-11-08 | 2012-05-17 | Google Inc. | Full-Duplex Bi-Directional Communication Over a Remote Procedure Call Based Communications Protocol, and Applications Thereof |
CN102546794A (zh) * | 2011-12-30 | 2012-07-04 | 华为技术有限公司 | 浏览器客户端与后端服务器直通的方法、网关和通信系统 |
CN102970356A (zh) * | 2012-11-08 | 2013-03-13 | 百度在线网络技术(北京)有限公司 | 云端服务器和客户端的通信方法、系统和装置 |
CN103516766A (zh) * | 2012-06-30 | 2014-01-15 | 北京神州泰岳软件股份有限公司 | 一种客户端与应用服务器间进行通信的方法和系统 |
CN103905498A (zh) * | 2012-12-27 | 2014-07-02 | 鼎捷软件股份有限公司 | 服务信息管理方法及服务信息管理系统 |
-
2015
- 2015-10-28 CN CN201510713859.1A patent/CN105391536A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124219A1 (en) * | 2010-11-08 | 2012-05-17 | Google Inc. | Full-Duplex Bi-Directional Communication Over a Remote Procedure Call Based Communications Protocol, and Applications Thereof |
CN102546794A (zh) * | 2011-12-30 | 2012-07-04 | 华为技术有限公司 | 浏览器客户端与后端服务器直通的方法、网关和通信系统 |
CN103516766A (zh) * | 2012-06-30 | 2014-01-15 | 北京神州泰岳软件股份有限公司 | 一种客户端与应用服务器间进行通信的方法和系统 |
CN102970356A (zh) * | 2012-11-08 | 2013-03-13 | 百度在线网络技术(北京)有限公司 | 云端服务器和客户端的通信方法、系统和装置 |
CN103905498A (zh) * | 2012-12-27 | 2014-07-02 | 鼎捷软件股份有限公司 | 服务信息管理方法及服务信息管理系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317788A (zh) * | 2016-04-26 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 实时数据推送方法和装置 |
CN107360232A (zh) * | 2017-07-14 | 2017-11-17 | 掌阅科技股份有限公司 | 数据变更异步执行方法、电子设备、计算机存储介质 |
CN107360232B (zh) * | 2017-07-14 | 2019-01-22 | 掌阅科技股份有限公司 | 数据变更异步执行方法、电子设备、计算机存储介质 |
CN108667914A (zh) * | 2018-04-24 | 2018-10-16 | 梅泰诺(北京)物联科技有限公司 | 一种信息推送方法、装置、系统及电子设备 |
CN110505641A (zh) * | 2019-08-28 | 2019-11-26 | 西南大学 | 利用全双工UART通信提高ZigBee主从通信轮询效率的方法及其协调器 |
CN110505641B (zh) * | 2019-08-28 | 2021-07-20 | 西南大学 | 利用全双工UART通信提高ZigBee主从通信轮询效率的方法及其协调器 |
CN112600894A (zh) * | 2020-12-07 | 2021-04-02 | 航天科技控股集团股份有限公司 | 基于非轮询的车辆实时故障报警推送系统及推送方法 |
CN113612628A (zh) * | 2021-07-09 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 一种实现自适应跨网段双向通信的方法、系统 |
CN113726731A (zh) * | 2021-07-15 | 2021-11-30 | 浪潮软件股份有限公司 | 基于tcp实现终端app与服务器实时通讯的方法与系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105391536A (zh) | 一种客户端和服务端进行通信的方法及装置 | |
CN102546794B (zh) | 浏览器客户端与后端服务器直通的方法、网关和通信系统 | |
CN104917833A (zh) | 一种基于nio请求的异步信息处理方法 | |
CN103561100A (zh) | 一种云上传方法及系统、调度设备、客户端 | |
CN105407008A (zh) | Tcp连接断线的重连方法及系统、终端及服务器 | |
CN102196011B (zh) | 一种利用推送服务提供应用信息的方法及系统 | |
CN103516673A (zh) | 一种网络数据通信方法、系统及客户端和服务器 | |
CN105337923A (zh) | 数据分发方法和系统及数据发送装置和数据接收装置 | |
CN104468380A (zh) | 一种接入点设备与服务器交互的接口通信方法 | |
CN103685496A (zh) | 一种文件数据的传输方法和设备 | |
CN102594886B (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
CN104679528A (zh) | 应用程序远程更新的方法和装置 | |
CN106301969A (zh) | Http长链接的管理方法及系统 | |
CN109951311B (zh) | 网络切片实例化的方法、装置、设备及存储介质 | |
CN103220165A (zh) | 一种服务器主动宕机的处理方法和装置 | |
CN103929784A (zh) | 一种用户带宽控制方法、装置及系统 | |
CN104009979A (zh) | 一种传输数据的方法 | |
CN103095785A (zh) | 远程过程调用方法和系统、客户端及服务器 | |
CN113179324B (zh) | 一种区块链节点及其执行的业务处理方法 | |
CN105635222A (zh) | 云终端升级方法、系统、网管服务器及代理服务器 | |
CN102916907A (zh) | 基于家庭网关的下载方法和系统以及家庭网关 | |
CN111124717A (zh) | 消息投递方法、系统及计算机存储介质 | |
CN103037483A (zh) | 网络服务器以及维持其与应用服务器的连接的方法 | |
CN108566294B (zh) | 一种支持计算平面的通信网络系统 | |
CN104753813A (zh) | Dma传送报文的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160309 |