CN110730173B - 一种信息交互方法及装置 - Google Patents

一种信息交互方法及装置 Download PDF

Info

Publication number
CN110730173B
CN110730173B CN201910981543.9A CN201910981543A CN110730173B CN 110730173 B CN110730173 B CN 110730173B CN 201910981543 A CN201910981543 A CN 201910981543A CN 110730173 B CN110730173 B CN 110730173B
Authority
CN
China
Prior art keywords
identification information
page
websocket service
operation data
label page
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.)
Active
Application number
CN201910981543.9A
Other languages
English (en)
Other versions
CN110730173A (zh
Inventor
杨鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Mininglamp Software System Co ltd
Original Assignee
Beijing Mininglamp Software System Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Mininglamp Software System Co ltd filed Critical Beijing Mininglamp Software System Co ltd
Priority to CN201910981543.9A priority Critical patent/CN110730173B/zh
Publication of CN110730173A publication Critical patent/CN110730173A/zh
Application granted granted Critical
Publication of CN110730173B publication Critical patent/CN110730173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种信息交互方法及装置,所述方法包括:当服务端的WebSocket服务接收到终端设备通过浏览器的第一标签页发送的操作数据后,根据操作数据确定需要共享操作数据的第二标签页的标识信息;将操作数据广播给第二标签页的标识信息对应的第二标签页;其中,操作数据为第一标签页中进行操作的数据,携带有终端设备的标识信息;WebSocket服务为根据第一标签页对应的应用程序生成的服务;第二标签页与WebSocket服务处于连接状态。上述技术方案可以在进行数据交互时不用区分标签页的父子关系,同时WebSocket服务可以支持全双工通信,能够满足复杂频繁的实时交互。

Description

一种信息交互方法及装置
技术领域
本发明涉及计算机领域,尤其涉及信息交互方法及装置。
背景技术
在现代web(World Wide Web,全球广域网)开发中,往往会有很多单页面应用,单页面应用和以往的多页面应用不同,多页面应用通常不涉及各个页面的联动,每个页面负责自己的功能展示,页面之前相对独立。而单页面应用更类似与一个独立的App(Application,手机软件),这个App运行在基于浏览器的环境中,单页面应用会涉及不同功能模块间的联动。同一标签页中的不同功能模块的联动相对简单,但是不同标签页的联动相对会复杂一些。
现有技术中,通常采用以下几种方式实现同一应用中不同标签页间的联动:
方式一、通过浏览器提供的方法实现。浏览器能在当前标签页中打开一个新标签页,这种情况可以通过浏览器的父子页面通信去实现数据的联动。但是此种方法的弊端是必须显性的知道父子页面,而针对单页面应用,很有可能会在子页面中再次打开一个新标签页,这样这种父子关系的链条就会变得比较复杂。如果用户手动打开不同的模块标签页,各个页面不具有父子关系,通过方式一则无法进行数据交互。
方式二、通过浏览器的localStorage(本地存储)实现。将需要联动的全局数据存储到localStorage中,然后在页面中通过localStorage的事件进行数据分发,当数据变化时,触发相关事件调用函数。但是该相关事件的触发条件必须是数据变化,如果数据不变化则不会触发相关事件。
方式三、通过webworker(运行在后台的JavaScript线程)实现。webworker方式与localStorage方式类似,通过注册一个SharedWorker(共享线程),然后进行参数共享,但是webworker方式是一种半双工的方式,如果复杂频繁的数据请求,则不容易通过webworker实现。
发明内容
本申请所要解决的技术是提供一种信息交互方法及装置,在进行数据交互时不用区分标签页的父子关系,同时可以满足复杂频繁的实时交互。
为了解决上述技术问题,本申请提供了一种信息交互方法,所述方法包括:
当服务端的基于TCP的全双工通信协议WebSocket服务接收到终端设备通过浏览器的第一标签页发送的操作数据后,根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息;
将所述操作数据广播给所述第二标签页的标识信息对应的第二标签页;
其中,所述操作数据为第一标签页中进行操作的数据,携带有所述终端设备的标识信息;
所述WebSocket服务为根据所述第一标签页对应的应用程序生成的服务;
所述第二标签页与所述WebSocket服务处于连接状态。
可选地,所述方法还包括:
所述WebSocket服务保存标签页发送的标签页的标识信息;
其中,所述标签页的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
可选地,所述根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息包括:
所述WebSocket服务根据所述操作数据携带的终端设备的标识信息,在自身存储的标签页的标识信息中,确定第二标签页的标识信息;
其中,所述第二标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同;
所述第二标签页的标识信息的个数为一个或多个。
本申请还提供一种信息交互方法,所述方法包括:
当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页生成操作数据时,通过浏览器将所述操作数据发送给该标签页所注册的WebSocket服务;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据携带有终端设备的标识信息。
可选地,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
其中,所述标签页标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
本申请还提供一种信息交互方法,所述方法包括:
当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页接收到所述WebSocket服务发送的操作数据时,根据所述操作数据进行相应操作;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据为对应于所述应用程序的其它标签页发送给所述WebSocket服务,并通过所述WebSocket服务广播的数据。
可选地,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
其中,所述标签页标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
本申请还提供一种信息交互装置,设置于服务端,所述装置包括:存储器和处理器;
所述存储器,用于保存用于信息交互理的程序;
所述处理器,用于读取执行所述用于信息交互的程序,执行如下操作:
当服务端的基于TCP的全双工通信协议WebSocket服务接收到终端设备通过浏览器的第一标签页发送的操作数据后,根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息;
将所述操作数据广播给所述第二标签页的标识信息对应的第二标签页;
其中,所述操作数据为第一标签页中进行操作的数据,携带有所述终端设备的标识信息;
所述WebSocket服务为根据所述第一标签页对应的应用程序生成的服务;
所述第二标签页与所述WebSocket服务处于连接状态。
可选地,所述处理器,用于读取执行所述用于信息交互的程序,还执行如下操作:
所述WebSocket服务保存标签页发送的标签页的标识信息;
其中,所述标签页的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
可选地,所述根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息包括:
所述WebSocket服务根据所述操作数据携带的终端设备的标识信息,在自身存储的标签页的标识信息中,确定第二标签页的标识信息;
其中,所述第二标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同;
所述第二标签页的标识信息的个数为一个或多个。
本申请还提供一种信息交互装置,设置于终端设备,所述装置包括:存储器和处理器;
所述存储器,用于保存用于信息交互理的程序;
所述处理器,用于读取执行所述用于信息交互的程序,执行如下操作:
当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页生成操作数据时,通过浏览器将所述操作数据发送给该标签页所注册的WebSocket服务;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据携带有终端设备的标识信息。
可选地,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
其中,所述标签页标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
本申请还提供一种信息交互装置,设置于终端设备,所述装置包括:存储器和处理器;
所述存储器,用于保存用于信息交互理的程序;
所述处理器,用于读取执行所述用于信息交互的程序,执行如下操作:
当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页接收到所述WebSocket服务发送的操作数据时,根据所述操作数据进行相应操作;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据为对应于所述应用程序的其它标签页发送给所述WebSocket服务,并通过所述WebSocket服务广播的数据。
可选地,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
其中,所述标签页标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
本申请包括:当服务端的基于TCP的全双工通信协议WebSocket服务接收到终端设备通过浏览器的第一标签页发送的操作数据后,根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息;将所述操作数据广播给所述第二标签页的标识信息对应的第二标签页;其中,所述操作数据为第一标签页中进行操作的数据,携带有所述终端设备的标识信息;所述WebSocket服务为根据所述第一标签页对应的应用程序生成的服务;所述第二标签页与所述WebSocket服务处于连接状态。上述技术方案可以在进行数据交互时不用区分标签页的父子关系,同时WebSocket服务可以支持全双工通信,能够满足复杂频繁的实时交互。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本发明实施例一的信息交互方法的第一流程图;
图2是本发明实施例一的信息交互方法的第二流程图;
图3是本发明实施例一的信息交互方法的第三流程图;
图4是本发明实施例一的信息交互方法的第四流程图;
图5是本发明实施例一的信息交互装置的第一结构示意图;
图6是本发明实施例一的信息交互装置的第二结构示意图;
图7是本发明实施例一的信息交互装置的第三结构示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
实施例一
如图1所示,本实施例提供一种信息交互方法,所述方法包括:
步骤S101、当服务端的WebSocket(基于TCP的全双工通信协议)服务接收到终端设备通过浏览器的第一标签页发送的操作数据后,根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息;
步骤S102、将所述操作数据广播给所述第二标签页的标识信息对应的第二标签页;
其中,所述操作数据为第一标签页中进行操作的数据,携带有所述终端设备的标识信息;
所述WebSocket服务为根据所述第一标签页对应的应用程序生成的服务;
所述第二标签页与所述WebSocket服务处于连接状态。
可选地,所述方法还可以包括:
所述WebSocket服务保存标签页发送的标签页的标识信息;
其中,所述标签页的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
本实施例中,标签页的模块标识信息可以是标签页中该应用程序的模块名,可以是功能的集合
可选地,所述根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息可以包括:
所述WebSocket服务根据所述操作数据携带的终端设备的标识信息,在自身存储的标签页的标识信息中,确定第二标签页的标识信息;
其中,所述第二标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同;
所述第二标签页的标识信息的个数为一个或多个。
如图2所示,本实施例还提供一种信息交互方法,所述方法包括:
步骤S201、当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
步骤S202、当标签页生成操作数据时,通过浏览器将所述操作数据发送给该标签页所注册的WebSocket服务;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据携带有终端设备的标识信息。
可选地,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接可以包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
其中,所述标签页标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
如图3所示,本实施例还提供一种信息交互方法,所述方法包括:
步骤301、当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
步骤S302、当标签页接收到所述WebSocket服务发送的操作数据时,根据所述操作数据进行相应操作;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据为对应于所述应用程序的其它标签页发送给所述WebSocket服务,并通过所述WebSocket服务广播的数据。
可选地,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接可以包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
其中,所述标签页标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
如图4所示,本实施例的信息交互方法包括:
步骤S401、当应用程序打开一新标签页时,生成所述新标签页的标识信息;
步骤S402、将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
步骤S403、所述WebSocket服务保存标签页发送的标签页的标识信息;
步骤S404、当应用程序任一标签页生成操作数据时,通过浏览器将所述操作数据发送给该标签页所注册的WebSocket服务;
步骤S405、服务端的WebSocket服务接收到所述操作数据后,根据所述操作数据携带的终端设备的标识信息,在自身存储的标签页的标识信息中,确定需要共享所述操作数据的第二标签页的标识信息;
本实施例中,第二标签页与所述WebSocket服务需处于连接状态。
步骤S406、WebSocket服务将所述操作数据广播给所述第二标签页的标识信息对应的第二标签页;
步骤S407、当第二标签页接收到所述WebSocket服务发送的操作数据时,根据所述操作数据进行相应操作。
需要说明的是,对于步骤S401,可以对应多个标签页的操作,也就是说,多个标签页可以同时分别生成自身的标签页的标识信息。对于步骤S402,同样也可以对应多个标签页向对应的WebSocket服务发送标签页的标识信息。此外,步骤S401、步骤S402与步骤S404之间不限定执行的先后顺序,上述操作仅为一个示例。
上述技术方案可以不用区分标签页的父子关系,只要符合相关的数据格式,就可以进行不同标签页的数据交互;同时,WebSocket服务响应速度快,支持全双工通信,能够满足复杂的实时联动需求,此外,通过WebSocket服务还可以处理多个终端设备的数据交互。
如图5所示,本实施例还提供一种信息交互装置,设置于服务端,所述装置包括:存储器10和处理器11;
所述存储器10,用于保存用于信息交互理的程序;
所述处理器11,用于读取执行所述用于信息交互的程序,执行如下操作:
当服务端的基于TCP的全双工通信协议WebSocket服务接收到终端设备通过浏览器的第一标签页发送的操作数据后,根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息;
将所述操作数据广播给所述第二标签页的标识信息对应的第二标签页;
其中,所述操作数据为第一标签页中进行操作的数据,携带有所述终端设备的标识信息;
所述WebSocket服务为根据所述第一标签页对应的应用程序生成的服务;
所述第二标签页与所述WebSocket服务处于连接状态。
可选地,所述处理器11,用于读取执行所述用于信息交互的程序,还可以执行如下操作:
所述WebSocket服务保存标签页发送的标签页的标识信息;
其中,所述标签页的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
可选地,所述根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息可以包括:
所述WebSocket服务根据所述操作数据携带的终端设备的标识信息,在自身存储的标签页的标识信息中,确定第二标签页的标识信息;
其中,所述第二标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同;
所述第二标签页的标识信息的个数为一个或多个。
如图6所示,本实施例还提供一种信息交互装置,设置于终端设备,所述装置包括:存储器20和处理器21;
所述存储器20,用于保存用于信息交互理的程序;
所述处理器21,用于读取执行所述用于信息交互的程序,执行如下操作:
当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页生成操作数据时,通过浏览器将所述操作数据发送给该标签页所注册的WebSocket服务;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据携带有终端设备的标识信息。
可选地,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接可以包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
其中,所述标签页标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
如图7所示,本实施例还提供一种信息交互装置,设置于终端设备,所述装置包括:存储器20和处理器21;
所述存储器20,用于保存用于信息交互理的程序;
所述处理器21,用于读取执行所述用于信息交互的程序,执行如下操作:
当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页接收到所述WebSocket服务发送的操作数据时,根据所述操作数据进行相应操作;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据为对应于所述应用程序的其它标签页发送给所述WebSocket服务,并通过所述WebSocket服务广播的数据。
可选地,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接可以包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接;
其中,所述标签页标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息。
上述技术方案可以不用区分标签页的父子关系,只要符合相关的数据格式,就可以进行不同标签页的数据交互;同时,WebSocket服务响应速度快,支持全双工通信,能够满足复杂的实时联动需求,此外,通过WebSocket服务还可以处理多个终端设备的数据交互。
本实施例中,服务端可以是服务器、PC等,服务端;终端设备可以是PC,也可以是移动终端。服务端上可以生成有多个WebSocket服务,每个WebSocket服务对应一个应用程序,每个WebSocket服务用于处理对应的应用程序的数据交互,负责数据的接收与分发。
本实施例中,任一应用程序打开一个新标签页时,会将生成的该新标签页的标识信息发送给对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接。如果某一打开的标签页关闭了,则该标签页与对应的WebSocket服务的连接也就断开了,webSocket服务可以判断与哪个标签页的连接断开了。从而删除已保存的该标签页的信息。
本实施例中,为了确保WebSocket服务与标签页的连接是正常的,终端设备可以每隔一定时间(例如30秒)向对应的WebSocket服务发送一次心跳包,保证连接正常。如果因为网络问题引发的连接中断,则终端设备可以再发起重连。
假设,有终端设备A和终端设备B,终端设备A上有应用程序1和应用程序2,终端设备B上有应用程序2和应用程序3,可以在服务端上针对应用程序1生成对应的WebSocket服务1,针对应用程序2生成对应的WebSocket服务2,针对应用程序3生成对应的WebSocket服务3。以WebSocket服务2为例,WebSocket服务2用于处理终端设备A的应用程序2的数据交互,以及用于终端设备B的应用程序2的数据交互。
本实施例中,操作数据的格式可以为:
{
id:”标签页ID“,
deviceId:‘设备ID’,
data:’数据内容’
}
以应用程序2为例,对于终端设备A,当应用程序2通过浏览器打开一个新标签页时,则根据终端设备A的标识信息(设备ID)以及当前新标签页的功能标识信息通过随机算法生成该新标签页的标识信息(标签页ID),然后通过浏览器将新标签页的标识信息发送给WebSocket服务2,这样可以使该新标签页在WebSocket服务2进行注册。对于终端设备B也同样是将打开的新标签页的标识信息发送给WebSocket服务2。
WebSocket服务2会保存终端设备A的应用程序2每个打开的标签页的标识信息,以及保存终端设备B的应用程序2每个打开的标签页的标识信息。也就是说,由于WebSocket服务是根据某个应用程序生成的,因此,每个WebSocket服务只会保存对应应用程序所打开的标签页。
当在标签页中点击某个按钮进行数据联动时,标签页便按照定义好的数据格式将操作数据给对应的WebSocket服务2。
当WebSocket服务2接收到操作数据时,根据操作数据携带的终端设备的标识信息确定是哪个终端设备发送的,然后从自身存储的标签页的标识信息中确定共享所述操作数据的标签页的标识信息。本实施例中,共享操作数据的标签页需要与对应的WebSocket服务处于连接状态,也就是说,共享操作数据的标签页是应用程序当前打开的标签页。共享操作数据的标签页对应的终端设备与生成操作数据的标签页对应的终端设备相同,共享操作数据的标签页对应的应用程序与生成操作数据的标签页对应的应用程序相同。当WebSocket服务确定了共享操作数据的标签页的标识信息,就将操作数据广播给这些标识信息对应的标签页。
此外,WebSocket服务可以不关注这些接收操作数据的标签页是否收到操作数据;也可以要求标签页收到操作数据后返回响应信息,如果WebSocket服务在一定时间内没收到某个标签页的响应信息,则可以向该标签页再次发送操作数据。
假设,终端设备A的应用程序2打开的标签页包括标签页a、标签页b、标签页c、标签页d、当标签页a将操作数据发送给WebSocket服务2后,WebSocket服务2确定第二标签页包括标签页b、标签页c、标签页d,会将该操作数据发送给标签页b、标签页c、标签页d。标签页b、标签页c、标签页d分别接收到操作数据后,标签页自身判断是否需要进行联动操作,每个标签页会根据该操作数据与自身标签页的功能的相关性进行判断,如果操作数据与自身标签页的功能相关,则进行数据联动操作;如果操作数据与自身标签页的功能不相关,则不进行数据联动操作,也就是说,收到操作数据的标签页b、标签页c和标签页d,可以全部进行联动操作,也可以一部分标签页进行联动操作。
通过上述技术方案进行信息交互,可以不用区分标签页的父子关系,只要符合相关的数据格式,就可以进行不同标签页的数据交互;同时,WebSocket服务响应速度快,支持全双工通信,能够满足复杂的实时联动需求,此外,通过WebSocket服务还可以处理多个终端设备的数据交互。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且包括任何信息递送介质。

Claims (14)

1.一种信息交互方法,其特征在于,所述方法包括:
当服务端的基于TCP的全双工通信协议WebSocket服务接收到终端设备通过浏览器的第一标签页发送的操作数据后,根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息;
将所述操作数据广播给所述第二标签页的标识信息对应的第二标签页;
其中,所述操作数据为第一标签页中进行操作的数据,携带有所述终端设备的标识信息;
所述WebSocket服务为根据所述第一标签页对应的应用程序生成的服务;所述服务端包括多个WebSocket服务,每个WebSocket服务对应一个应用程序,对于每个WebSocket服务,该WebSocket服务保存有各终端设备打开的该WebSocket服务对应应用程序的标签页的标识信息;所述第二标签页与所述WebSocket服务处于连接状态;
标签页的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息;
所述第二标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述WebSocket服务保存标签页发送的标签页的标识信息。
3.如权利要求1或2所述的方法,其特征在于:
所述根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息包括:
所述WebSocket服务根据所述操作数据携带的终端设备的标识信息,在自身存储的标签页的标识信息中,确定第二标签页的标识信息;
其中,
所述第二标签页的标识信息的个数为一个或多个。
4.一种信息交互方法,其特征在于,所述方法包括:
当终端设备的应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页生成操作数据时,通过浏览器将所述操作数据发送给该标签页所注册的WebSocket服务,以使所述WebSocket服务将所述操作数据广播给第二标签页;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据携带有终端设备的标识信息;
标签页的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息;
所述第二标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同;
服务端包括多个WebSocket服务,每个WebSocket服务对应一个应用程序,对于每个WebSocket服务,该WebSocket服务保存有各终端设备打开的该WebSocket服务对应应用程序的标签页的标识信息。
5.如权利要求4所述的方法,其特征在于,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接。
6.一种信息交互方法,其特征在于,所述方法包括:
当终端设备的应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页接收到所述WebSocket服务发送的操作数据时,根据所述操作数据进行相应操作;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据为对应于所述应用程序的其它标签页发送给所述WebSocket服务,并通过所述WebSocket服务广播的数据;
标签页含有的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息;
接收到操作数据的标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同;
服务端包括多个WebSocket服务,每个WebSocket服务对应一个应用程序,对于每个WebSocket服务,该WebSocket服务保存有各终端设备打开的该WebSocket服务对应应用程序的标签页的标识信息。
7.如权利要求6所述的方法,其特征在于,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接。
8.一种信息交互装置,设置于服务端,所述装置包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于信息交互理的程序;
所述处理器,用于读取执行所述用于信息交互的程序,执行如下操作:
当服务端的基于TCP的全双工通信协议WebSocket服务接收到终端设备通过浏览器的第一标签页发送的操作数据后,根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息;
将所述操作数据广播给所述第二标签页的标识信息对应的第二标签页;
其中,所述操作数据为第一标签页中进行操作的数据,携带有所述终端设备的标识信息;
所述WebSocket服务为根据所述第一标签页对应的应用程序生成的服务;所述服务端包括多个WebSocket服务,每个WebSocket服务对应一个应用程序,对于每个WebSocket服务,该WebSocket服务保存有各终端设备打开的该WebSocket服务对应应用程序的标签页的标识信息;
所述第二标签页与所述WebSocket服务处于连接状态;
标签页的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息;
所述第二标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同。
9.如权利要求8所述装置,其特征在于,所述处理器,用于读取执行所述用于信息交互的程序,还执行如下操作:
所述WebSocket服务保存标签页发送的标签页的标识信息。
10.如权利要求8或9所述装置,其特征在于,所述根据所述操作数据确定需要共享所述操作数据的第二标签页的标识信息包括:
所述WebSocket服务根据所述操作数据携带的终端设备的标识信息,在自身存储的标签页的标识信息中,确定第二标签页的标识信息;
其中,所述第二标签页的标识信息的个数为一个或多个。
11.一种信息交互装置,设置于终端设备,所述装置包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于信息交互理的程序;
所述处理器,用于读取执行所述用于信息交互的程序,执行如下操作:
当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页生成操作数据时,通过浏览器将所述操作数据发送给该标签页所注册的WebSocket服务,以使所述WebSocket服务将所述操作数据广播给第二标签页;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据携带有终端设备的标识信息;
标签页含有的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息;
接收操作数据的标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同;
服务端包括多个WebSocket服务,每个WebSocket服务对应一个应用程序,对于每个WebSocket服务,该WebSocket服务保存有各终端设备打开的该WebSocket服务对应应用程序的标签页的标识信息。
12.如权利要求11所述装置,其特征在于,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接。
13.一种信息交互装置,设置于终端设备,所述装置包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于信息交互理的程序;
所述处理器,用于读取执行所述用于信息交互的程序,执行如下操作:
当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接;
当标签页接收到所述WebSocket服务发送的操作数据时,根据所述操作数据进行相应操作;
其中,所述WebSocket服务为根据所述应用程序生成的服务;
所述操作数据为对应于所述应用程序的其它标签页发送给所述WebSocket服务,并通过所述WebSocket服务广播的数据;
标签页含有的标识信息为根据终端设备的标识信息以及标签页的模块标识信息随机生成的信息;
接收到操作数据的标签页的标识信息对应的终端设备的标识信息与所述操作数据对应的终端设备的标识信息相同;
服务端包括多个WebSocket服务,每个WebSocket服务对应一个应用程序,对于每个WebSocket服务,该WebSocket服务保存有各终端设备打开的该WebSocket服务对应应用程序的标签页的标识信息。
14.如权利要求13所述装置,其特征在于,所述当应用程序打开一新标签页时,建立所述新标签页与服务端的基于TCP的全双工通信协议WebSocket服务的连接包括:
当应用程序打开一新标签页时,生成所述新标签页的标识信息;
将所述新标签页的标识信息发送给所述应用程序对应的WebSocket服务,以使所述新标签页与所述WebSocket服务建立连接。
CN201910981543.9A 2019-10-16 2019-10-16 一种信息交互方法及装置 Active CN110730173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910981543.9A CN110730173B (zh) 2019-10-16 2019-10-16 一种信息交互方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910981543.9A CN110730173B (zh) 2019-10-16 2019-10-16 一种信息交互方法及装置

Publications (2)

Publication Number Publication Date
CN110730173A CN110730173A (zh) 2020-01-24
CN110730173B true CN110730173B (zh) 2022-06-07

Family

ID=69221366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910981543.9A Active CN110730173B (zh) 2019-10-16 2019-10-16 一种信息交互方法及装置

Country Status (1)

Country Link
CN (1) CN110730173B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187887A (zh) * 2020-09-14 2021-01-05 北京三快在线科技有限公司 用于多页面的网页实时通信方法、装置、电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009853B2 (en) * 2012-03-07 2015-04-14 Microsoft Technology Licensing, Llc Communication between web applications
CN104079598B (zh) * 2013-03-27 2018-09-28 腾讯科技(深圳)有限公司 一种实现网页协同浏览的方法和装置
CN105808702B (zh) * 2016-03-04 2019-07-02 华自科技股份有限公司 页面内容刷新方法、系统及页面内容同步刷新的管理系统
CN107438084B (zh) * 2016-05-25 2020-12-22 北京京东尚科信息技术有限公司 多客户端数据同步方法和装置
US11375011B2 (en) * 2018-01-31 2022-06-28 Splunk, Inc. Method and system for synchronizing webpages within a web browser
CN109710345A (zh) * 2018-08-20 2019-05-03 平安普惠企业管理有限公司 页面同步方法、装置、设备及存储介质
CN109343975B (zh) * 2018-09-21 2022-11-11 百度在线网络技术(北京)有限公司 用于页面间异步通信的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《面试官:前端跨页面通信,你知道哪些方法?》;AlienZHOU;《https://juejin.cn/》;20190401;第1-11页 *
利用webSocket实现浏览器中多个标签页之间的通信;aweo960421621;《https://blog.csdn.net/》;20190814;第1-2页 *

Also Published As

Publication number Publication date
CN110730173A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
US8923823B1 (en) System for delivering and confirming receipt of notification messages across different notification media
CN108933948B (zh) 一种视频播放进度同步方法及装置
US20090119388A1 (en) Content relaying device and content relaying method
CN105787077A (zh) 数据同步方法和装置
CN104135424A (zh) 一种应用消息推送方法、服务器、终端以及系统
CN104965848A (zh) 一种前端资源加载方法及装置
CN110781149A (zh) 管理直播间信息的方法、装置、设备及存储介质
CN105827443A (zh) 网络设备发现方法及装置
CN112486620A (zh) 跨进程离屏渲染方法、装置、电子设备及存储介质
CN110730173B (zh) 一种信息交互方法及装置
CN103716230A (zh) 消息发送方法、装置及服务器
CN112653736B (zh) 一种并行回源方法、装置及电子设备
CN109740307A (zh) 一种权限管理方法及设备
CN109479214B (zh) 一种负载均衡的方法及相关装置
CN111783010A (zh) 网页空白页面监测方法、装置、终端及存储介质
US20060007910A1 (en) Mapping of network configuration data to network interfaces
CN114064324A (zh) 进程间通信方法、装置、设备及计算机可读存储介质
CN104346228A (zh) 共享应用程序的方法及终端
CN109600403B (zh) 一种发送信息的方法及装置
CN110972080B (zh) 一种ZigBee网关的寻找方法、设备、存储介质
CN112929197A (zh) 一种网络通信方法、装置、设备和存储介质
US20140315600A1 (en) Communication interface method for se equipped on mobile terminal and se using the same
CN113055443B (zh) 一种资源数据部署方法、装置、设备和存储介质
CN116955874B (zh) 页面处理方法、装置、电子设备和计算机可读存储介质
CN110737484A (zh) 一种启动应用程序的方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant