CN111586148A - 一种基于长连接的信息交互方法及系统 - Google Patents
一种基于长连接的信息交互方法及系统 Download PDFInfo
- Publication number
- CN111586148A CN111586148A CN202010364703.8A CN202010364703A CN111586148A CN 111586148 A CN111586148 A CN 111586148A CN 202010364703 A CN202010364703 A CN 202010364703A CN 111586148 A CN111586148 A CN 111586148A
- Authority
- CN
- China
- Prior art keywords
- client
- long connection
- server
- information
- confirmation information
- 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
Images
Classifications
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/67—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Biomedical Technology (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种基于长连接的信息交互方法及系统,该方法包括:基于第一序列号,建立与第一客户端之间的第一长连接和与第二客户端之间的第二长连接;接收第一客户端的控制指令,将控制指令的执行结果通过第二长连接发送至第二客户端,或,将执行结果通过第一长连接发送至第一客户端并且将执行结果通过第二长连接发送至第二客户端。本公开通过服务器连接无法进行直接通信的第一客户端和第二客户端,并通过与二者之间分别建立的长连接实现控制指令执行结果的实时共享传递,保证第一客户端和第二客户端的使用者均可以及时获悉问诊过程中的信息,实现双方信息的对等,方便患者在问诊过程中对医生的操作过程进行参与和咨询,提升患者的看病体验。
Description
技术领域
本公开涉及互联网医疗领域,特别涉及一种基于长连接的信息交互方法及系统。
背景技术
现如今各个医院和诊所通常都配置有独立的医疗信息系统,用以存储患者诊疗的相关信息,医生在诊疗过程中,会在当前医院的医疗信息系统中进行操作,调取患者的基本信息和既往病史等相关医疗信息,并将问诊、开药、检测等过程一一进行记录。但是在问诊过程中,患者是无法查看医生所使用的系统内的信息的,只能在问诊结束后,通过检查结果或开药记录来知悉部分问诊结果;即便有些医院也建立了患者可使用的信息系统,但是由于信息的不对称性,患者无法在问诊过程中就查看到本次问诊的相关内容,造成了患者获取信息的延迟性,当患者就问诊内容出现疑问时,也无法及时咨询医生以得到解答,严重影响了患者的看病体验。
发明内容
本公开实施例的目的在于提供一种基于长连接的信息交互方法及系统,以解决现有技术中患者无法及时获取问诊相关内容,导致看病体验降低的问题。
为了解决上述技术问题,本公开的实施例采用如下技术方案:一种基于长连接的信息交互方法,应用于服务器,包括:基于第一序列号,建立与第一客户端之间的第一长连接和与第二客户端之间的第二长连接;接收所述第一客户端的控制指令,将所述控制指令的执行结果通过所述第二长连接发送至所述第二客户端,或,将所述执行结果通过所述第一长连接发送至所述第一客户端并且将所述执行结果通过所述第二长连接发送至所述第二客户端。
进一步,所述基于第一序列号,建立与第一客户端之间的第一长连接和与第二客户端之间的第二长连接,包括:分别接收所述第一客户端发送的第一数据报和所述第二客户端发送的第二数据报,其中,所述第一数据报和所述第二数据报均至少包括所述第一序列号;向所述第一客户端发送第一确认信息和第二序列号,向所述第二客户端发送第二确认信息和所述第二序列号,其中,所述第一确认信息和所述第二确认信息均用于确认所述第一序列号;接收所述第一客户端发送的第三确认信息以及所述第二客户端发送的第四确认信息,其中,所述第三确认信息和所述第四确认信息均用于确认所述第二序列号;根据所述第三确认信息建立与所述第一客户端之间的第一长连接,根据所述第四确认信息建立与所述第二客户端之间的第二长连接。
进一步,所述接收所述第一客户端的控制指令,将所述控制指令的执行结果通过所述第二长连接发送至所述第二客户端,或,将所述执行结果通过所述第一长连接发送至所述第一客户端并且将所述执行结果通过所述第二长连接发送至所述第二客户端之后,还包括:接收所述第一客户端发送的第一关闭指令;基于所述第一关闭指令断开所述第一长连接。
进一步,所述基于所述第一关闭指令断开所述第一长连接,包括:向所述第一客户端发送第五确认信息,其中,所述第五确认信息用于确认所述第一关闭指令;根据所述第一关闭指令生成第二关闭指令,并将所述第二关闭指令发送至所述第一客户端;接收所述第一客户端发送的第六确认信息,其中,所述第六确认信息用于确认所述第二关闭指令;根据所述第六确认信息断开与所述第一客户端之间的第一长连接。
进一步,所述接收所述第一客户端的控制指令之后,还包括:统计当前时刻与接收到最后一条所述控制指令的时刻之间的时间差;在所述时间差超过预设时长的情况下,断开与所述第一客户端之间的第一长连接。
本公开实施例还公开了一种基于长连接的信息交互系统,包括:第一客户端;第二客户端;服务器;其中,所述服务器基于第一序列号,建立与所述第一客户端之间的第一长连接和与所述第二客户端之间的第二长连接;在接收到所述第一客户端的控制指令的情况下,将所述控制指令的执行结果通过所述第二长连接发送至所述第二客户端,或,将所述执行结果通过所述第一长连接发送至所述第一客户端并且将所述执行结果通过所述第二长连接发送至所述第二客户端。
进一步,所述服务器基于第一序列号,建立与所述第一客户端之间的第一长连接和与所述第二客户端之间的第二长连接,包括:所述第一客户端向所述服务器发送第一数据报,所述第二客户端向所述服务器发送第二数据报,其中,所述第一数据报和所述第二数据报均至少包括所述第一序列号;所述服务器向所述第一客户端发送第一确认信息和第二序列号,并且向所述第二客户端发送第二确认信息和所述第二序列号,其中,所述第一确认信息和所述第二确认信息均用于确认所述第一序列号;所述第一客户端向所述服务器发送第三确认信息,所述第二客户端向所述服务器发送第四确认信息,其中,所述第三确认信息和所述第四确认信息均用于确认所述第二序列号;所述服务器根据所述第三确认信息建立与所述第一客户端之间的第一长连接,并根据所述第四确认信息建立与所述第二客户端之间的第二长连接。
进一步,所述第一客户端还用于:向所述服务器发送第一关闭指令;所述服务器还用于,在接收到所述第一关闭指令后,基于所述第一关闭指令断开所述第一长连接。
进一步,所述基于所述第一关闭指令断开所述第一长连接,包括:所述服务器向所述第一客户端发送第五确认信息,并根据所述第一关闭指令生成第二关闭指令,将所述第二关闭指令发送至所述第一客户端,其中,所述第五确认信息用于确认所述第一关闭指令;所述第一客户端根据所述第二关闭指令生成第六确认信息,并将所述第六确认信息发送至所述服务器,其中,所述第六确认信息用于确认所述第二关闭指令;所述服务器在接收到所述第六确认信息后,根据所述第六确认信息断开与所述第一客户端之间的第一长连接。
进一步,所述服务器还用于:统计当前时刻与接收到最后一条所述控制指令的时刻之间的时间差;在所述时间差超过预设时长的情况下,断开与所述第一客户端之间的第一长连接。
本公开实施例的有益效果在于:通过服务器连接无法进行直接通信的第一客户端和第二客户端,并通过与二者之间分别建立的长连接实现控制指令执行结果的实时共享传递,保证第一客户端和第二客户端的使用者均可以及时获悉问诊过程中的信息,实现双方信息的对等,方便患者在问诊过程中对医生的操作过程进行参与和咨询,提升患者的看病体验。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开第一实施例中基于长连接的信息交互方法的流程图;
图2示出本公开第一实施例中服务器与第一客户端和第二客户端建立长连接的流程示意图;
图3示出本公开第二实施例中基于长连接的信息交互系统的架构示意图;
图4示出本公开第二实施例中大屏初始界面显示序列码的示意图;
图5示出本公开第二实施例中平板电脑端的信息显示示意图;
图6示出本公开第二实施例中大屏幕端的信息显示示意图。
具体实施方式
此处参考附图描述本公开的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本公开的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本公开进行了描述,但本领域技术人员能够确定地实现本公开的很多其它等效形式,它们具有如权利要求的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所申请的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
基于计算机技术的普及与互联网领域的发达,如今各个医院和诊所通常都配置有独立的医疗信息系统,用于存储来医院就医的患者的各项信息,主要包括患者的个人基本信息,如姓名、性别、身高、体重、年龄等,还包括患者的既往病史、手术史、过敏史以及每次来医院就诊时的问诊记录、检测结果、开药记录等相关医疗信息。患者在门诊就诊过程中,医生会通过询问的方式进行问诊,并结合各项检查结果判断患者病情,为患者确定后续的医疗方案,并将上述信息存储至医疗信息系统中进行存储。但是在问诊过程中,患者无法查看医生所记录的相关信息是否准确,仅能通过问诊结束后的检查结果或开药记录大致获悉自身情况,对于问诊过程中可能存在的疑问或医生记录不准确的地方,患者无法及时与医生进行沟通,严重时会影响患者治疗准确性和患者的诊疗体验。
为了解决上述问题,本公开的第一实施例提供一种基于长连接的信息交互方法,主要应用于服务器、第三方终端或具有独立信息处理和网络通信能力的设备中,本实施例中将以服务器为例,详述信息交互的过程,其流程图如图1所示,主要包括步骤S1和S2:
S1,基于第一序列号,建立与第一客户端之间的第一长连接和与第二客户端之间的第二长连接。
本实施例中的第一客户端和第二客户端用于指代医生和患者分别使用的信息系统或具有不同信息系统的设备,例如医生端可使用具有医院的医疗信息系统的平板电脑,患者端由于不需要进行信息输入,使用具有显示功能的大屏幕即可,当然也可以使用同时具有显示功能和处理功能的其他设备。应当了解的是,本实施例中的第一客户端可以指代医生端使用的平板电脑,相应地,第二客户端即指代患者端使用的屏幕,若第一客户端指代的是患者所使用的屏幕,则第二客户端指代医生端的平板电脑,即本实施例中的第一客户端和第二客户端仅用于表示两个不同的终端,并不具体指代固定的设备。
在实际使用时,首先需要分别建立第一客户端、第二客户端与服务器之间的通信连接,使原本无法进行信息交互的第一客户端和第二客户端之间形成通路,方便进行信息交互。本实施例中,基于相同的第一序列号分别建立第一客户端与服务器之间的第一长连接,以及第二客户端与服务器之间的第二长连接,基于长连接的特性,长连接通道建立后可保持持续的通信以实现客户端和服务器之间的实时交互,在基于同一个序列号建立不同的长连接通道时,所有长连接通道都会接收到服务器向该长连接通道发出的信息,以此实现信息的实时交互。
具体地,服务器分别与第一客户端和第二客户端建立长连接的步骤如图2所示,主要包括步骤S11至S14:
S11,分别接收第一客户端发送的第一数据报和第二客户端发送的第二数据报。
第一客户端和第二客户端在需要建立连接时,分别调用自身的connect接口,通过TCP传输协议向服务器发送一个数据报,即第一数据报和第二数据报,第一数据报和第二数据报中均携带有第一序列号,用于指示服务器基于该第一序列号开始建立长连接,服务器则通过自身accept接口被动接收第一数据报和第二数据报。
本实施例中的第一序列号可以是第一客户端和第二客户端预先约定好的字符串,或者由任意一方在建立连接之前随机生成,另一方直接使用对方生成的字符串。在本实施例实际使用时,优选由患者端的大屏随机生成一由英文字母和数字组成的同步序列编号(SYN,Synchronize Sequence Numbers),医生端则在平板电脑中对应输入该SYN编号作为第一序列号即可。
S12,向第一客户端发送第一确认信息和第二序列号,向第二客户端发送第二确认信息和第二序列号。
服务器接收到第一数据报和第二数据报后,需向第一客户端和第二客户端分别发送对第一序列号的确认信息,即向第一客户端发送第一确认信息,向第二客户端发送第二确认信息,其中,第一确认信息和第二确认信息均用于确认第一序列号,其通常的格式是在第一序列号的基础上加一;与此同时,服务器还需要向第一客户端和第二客户端以数据报的形式分别发送自身的第二序列号供第一客户端和第二客户端进行确认,第二序列号的格式可以与第一序列号相同,但其具体内容则与第一序列号不同。
S13,接收第一客户端发送的第三确认信息以及第二客户端发送的第四确认信息。
S14,根据第三确认信息建立与第一客户端之间的第一长连接,根据第四确认信息建立与第二客户端之间的第二长连接。
第一客户端接收到第一确认信息和第二序列号,以及第二客户端接收到第二确认信息和第二序列号之后,对服务器的第二序列号进行确认,第一客户端将第二序列号的确认结果形成第三确认信息发回给服务器,第二客户端则将第二序列号的确认结果形成第四确认信息发回给服务器,证明客户端和服务器双方的验证均已完成,服务器在接收到第三确认信和第四确认信息之后,即完成服务器与客户端之间长连接的建立过程,此时,服务器与第一客户端之间的长连接可被成为第一长连接,服务器与第二客户端之间的长连接则可被称为第二长连接。
需要注意的是,本实施例中所描述的服务器与第一客户端和第二客户端之间的长连接时同时建立的,但实际服务器与第一客户端和第二客户端建立长连接的过程是互相独立的,在实际使用时可以分别建立第一长连接和第二长连接。
S2,接收第一客户端的控制指令,将控制指令的执行结果通过第二长连接发送至第二客户端,或,将执行结果通过第一长连接发送至第一客户端并且将执行结果通过第二长连接发送至第二客户端。
因为使用相同的第一序列号,第一长连接和第二长连接建立后,即相当于第一客户端和第二客户端之间通过服务器建立了联系,并且基于长连接的特性,第一客户端和第二客户端之间即建立起了一个可持续互通的实时信息交互通道。此时,任意一客户端向服务器发送基于长连接的控制指令时,其对应的另一客户端即可以收到关于该控制指令的执行结果,其中,控制指令可以是关于信息的查询指令、展示指令、调用指令等,服务器接收到该控制指令后,基于其指令的具体内容进行相应的指令执行,并将执行结果发送至具有执行结果接收功能的客户端中。具体地,发出控制指令的客户端可以是第一客户端也可以是第二客户端,本实施例仅以第一客户端发出控制指令为例,对应实际使用时,发出控制指令的客户端通常为医生端使用的平板电脑,即由医生决定向患者具体展示哪些内容。
另外,第一客户端和第二客户端虽然都通过长连接与服务器连接,但在配置第一客户端和第二客户端时,可以配置其是否允许接收长连接通道的信息,对于不允许接收长连接通道消息的客户端,服务器无法将执行结果发送至该客户端。在本实施例中,默认第二客户端允许接收长连接通道的消息,第一客户端则由于是发送控制指令的客户端,可根据用户实际情况选择是否允许接收长连接通道的信息,在其允许接收时,服务器将执行结果同时发给第一客户端和第二客户端,在其不允许接收时,服务器将执行结果仅发送给第二客户端进行展示。
具体地,第一客户端所发送的控制指令可以为待展示的某项具体信息,经由服务器和长连接发送至第二客户端进行显示,或者,控制指令也可以为查询指令,用于查询某些信息的具体内容,服务器在接收到查询指令后,根据查询指令从自身数据库中查询相关内容,并将查询结果发送至第二客户端进行展示。
长连接服务的特性即是初始建立连接后,后续所有请求都走该通道,其生命周期与程序的生命周期相同,即程序启动(本实施例中可以是医生或患者登录到各自的信息系统开始)时建立长连接,程序结束后才主动关闭该长连接。在本实施例中,长连接是由客户端主动关闭的,即服务器被动接收关闭长连接的指令。服务器与第一客户端和第二客户端建立长连接后,通过接收客户端发送的控制指令,并根据长连接将执行结果发送至对应的接收端,在长连接的生命周期中,客户端可随时主动调用close接口,向服务器发送第一关闭指令,该第一关闭指令中主要携带有结束符FIN M,服务器被动接收第一关闭指令后,根据该第一关闭指令关闭与客户端之间建立的长连接。以第一客户端为例,当医生退出平板电脑中登录的信息系统,或患者端退出大屏幕中登录的信息系统时,可认为第一客户端主动关闭程序应用,即主动调用close接口向服务器发送第一关闭指令。
进一步地,服务器在接收到第一关闭指令后,首先向第一客户端发送第五确认信息,以向第一客户端告知自身以确认该第一关闭指令;并同时根据第一关闭指令生成第二关闭指令,该第二关闭指令中携带有与FIN M不同的结束符FIN N,并将第二关闭指令发送至第一客户端供其进行确认;第一客户端接收到第二关闭指令后,生成第六确认信息以确认该第二关闭指令,并将该第六确认信息发送至服务器;服务器接收到该第六确认信息之后,即知悉第一客户端已确认自身发出的第二关闭指令,表示不再有后续指令发送或接收,此时可断开与第一客户端之间的第一长连接,即第一长连接生命周期中止。相应地,第二客户端与服务器之间的第二长连接的断开方式与第一客户端的方式相同,在此不再详细赘述,需要了解的是,虽然在建立时需要第一长连接和第二长连接均完成建立,才能进行第一客户端可第二客户端之间的通信,但是在断开时,二者之间任意一方断开,即相当于第一客户端和第二客户端之间的通信断开。
在实际使用时,可能会出现因突然停电或设备电量极低导致的自动关机情况出现,使客户端无法按照正常流程实现长连接的断开流程,此时服务器与客户端之间的长连接依旧处于连通状态,但是由于客户端断电或关机,已经无法接收或发出任何消息,因此,服务器可以主动断开与客户端之间的长连接通道,以节省自身通信资源。具体地,服务器实时统计当前时刻与其接收到最后一条来自客户端的控制指令的时刻之间的时间差,当该时间差超过预设时长时,服务器判定客户端可能因为某些特殊缘由与网络断开或关机,此时主动断开与客户端之间的长连接,释放相应接口资源。
本实施例通过服务器连接无法进行直接通信的第一客户端和第二客户端,并通过与二者之间分别建立的长连接实现控制指令执行结果的实时共享传递,保证第一客户端和第二客户端的使用者均可以及时获悉问诊过程中的信息,实现双方信息的对等,方便患者在问诊过程中对医生的操作过程进行参与和咨询,提升患者的看病体验。
本公开的第二实施例提供一种基于长连接的信息交互系统,其架构示意图如图3所示,主要包括第一客户端10、第二客户端20以及实现本公开第一实施例中信息交互方法的服务器30,其中,第一客户端10和第二客户端20用于指代医生和患者分别使用的信息系统或具有不同信息系统的设备,例如医生端可使用具有医院的医疗信息系统的平板电脑,患者端由于不需要进行信息输入,使用具有显示功能的大屏幕即可,当然也可以使用同时具有显示功能和处理功能的其他设备。应当了解的是,本实施例中的第一客户端10可以指代医生端使用的平板电脑,相应地,第二客户端20即指代患者端使用的屏幕,若第一客户端10指代的是患者所使用的屏幕,则第二客户端20指代医生端的平板电脑,即本实施例中的第一客户端10和第二客户端20仅用于表示两个不同的终端,并不具体指代固定的设备。
在实际使用时,首先需要分别建立第一客户端10、第二客户端20与服务器30之间的通信连接,使原本无法进行信息交互的第一客户端10和第二客户端20之间形成通路,方便进行信息交互。本实施例中,基于相同的第一序列号分别建立第一客户端10与服务器30之间的第一长连接,以及第二客户端20与服务器30之间的第二长连接,基于长连接的特性,长连接通道建立后可保持持续的通信以实现客户端和服务器之间的实时交互,在基于同一个序列号建立不同的长连接通道时,所有长连接通道都会接收到服务器向该长连接通道发出的信息,以此实现信息的实时交互。
具体地,第一客户端10和第二客户端20在需要建立连接时,分别调用自身的connect接口,通过TCP传输协议向服务器30发送一个数据报,即第一数据报和第二数据报,第一数据报和第二数据报中均携带有第一序列号,用于指示服务器30基于该第一序列号开始建立长连接,服务器30则通过自身accept接口被动接收第一数据报和第二数据报。本实施例中的第一序列号可以是第一客户端10和第二客户端20预先约定好的字符串,或者由任意一方在建立连接之前随机生成,另一方直接使用对方生成的字符串。在本实施例实际使用时,优选由患者端的大屏随机生成一由英文字母和数字组成的同步序列编号SYN,医生端则在平板电脑中对应输入该SYN编号作为第一序列号即可。
服务器30接收到第一数据报和第二数据报后,需向第一客户端10和第二客户端20分别发送对第一序列号的确认信息,即向第一客户端10发送第一确认信息,向第二客户端20发送第二确认信息,其中,第一确认信息和第二确认信息均用于确认第一序列号,其通常的格式是在第一序列号的基础上加一;与此同时,服务器30还需要向第一客户端10和第二客户端20以数据报的形式分别发送自身的第二序列号供第一客户端和第二客户端进行确认,第二序列号的格式可以与第一序列号相同,但其具体内容则与第一序列号不同。
第一客户端10接收到第一确认信息和第二序列号,以及第二客户端20接收到第二确认信息和第二序列号之后,对服务器30的第二序列号进行确认,第一客户端10将第二序列号的确认结果形成第三确认信息发回给服务器30,第二客户端20则将第二序列号的确认结果形成第四确认信息发回给服务器30,证明客户端和服务器30双方的验证均已完成,服务器30在接收到第三确认信和第四确认信息之后,即完成服务器30与客户端之间长连接的建立过程,此时,服务器30与第一客户端10之间的长连接可被成为第一长连接,服务器30与第二客户端20之间的长连接则可被称为第二长连接。
需要注意的是,本实施例中所描述的服务器30与第一客户端10和第二客户端20之间的长连接时同时建立的,但实际服务器30与第一客户端10和第二客户端20建立长连接的过程是互相独立的,在实际使用时可以分别建立第一长连接和第二长连接。
因为使用相同的第一序列号,第一长连接和第二长连接建立后,即相当于第一客户端10和第二客户端20之间通过服务器30建立了联系,并且基于长连接的特性,第一客户端10和第二客户端20之间即建立起了一个可持续互通的实时信息交互通道。此时,任意一客户端向服务器30发送基于长连接的控制指令时,其对应的另一客户端即可以收到关于该控制指令的执行结果,其中,控制指令可以是关于信息的查询指令、展示指令、调用指令等,服务器30接收到该控制指令后,基于其指令的具体内容进行相应的指令执行,并将执行结果发送至具有执行结果接收功能的客户端中。具体地,发出控制指令的客户端可以是第一客户端10也可以是第二客户端20,本实施例仅以第一客户端10发出控制指令为例,对应实际使用时,发出控制指令的客户端通常为医生端使用的平板电脑,即由医生决定向患者具体展示哪些内容。
另外,第一客户端10和第二客户端20虽然都通过长连接与服务器30连接,但在配置第一客户端10和第二客户端20时,可以配置其是否允许接收长连接通道的信息,对于不允许接收长连接通道消息的客户端,服务器30无法将执行结果发送至该客户端。在本实施例中,默认第二客户端20允许接收长连接通道的消息,第一客户端10则由于是发送控制指令的客户端,可根据用户实际情况选择是否允许接收长连接通道的信息,在其允许接收时,服务器30将执行结果同时发给第一客户端10和第二客户端20,在其不允许接收时,服务器30将执行结果仅发送给第二客户端20进行展示。
具体地,第一客户端10所发送的控制指令可以为待展示的某项具体信息,经由服务器30和长连接发送至第二客户端20进行显示,或者,控制指令也可以为查询指令,用于查询某些信息的具体内容,服务器30在接收到查询指令后,根据查询指令从自身数据库中查询相关内容,并将查询结果发送至第二客户端20进行展示。
长连接服务的特性即是初始建立连接后,后续所有请求都走该通道,其生命周期与程序的生命周期相同,即程序启动(本实施例中可以是医生或患者登录到各自的信息系统开始)时建立长连接,程序结束后才主动关闭该长连接。在本实施例中,长连接是由客户端主动关闭的,即服务器30被动接收关闭长连接的指令。服务器30与第一客户端10和第二客户端20建立长连接后,通过接收客户端发送的控制指令,并根据长连接将执行结果发送至对应的接收端,在长连接的生命周期中,客户端可随时主动调用close接口,向服务器30发送第一关闭指令,该第一关闭指令中主要携带有结束符FIN M,服务器30被动接收第一关闭指令后,根据该第一关闭指令关闭与客户端之间建立的长连接。以第一客户端10为例,当医生退出平板电脑中登录的信息系统,或患者端退出大屏幕中登录的信息系统时,可认为第一客户端10主动关闭程序应用,即主动调用close接口向服务器30发送第一关闭指令。
进一步地,服务器30在接收到第一关闭指令后,首先向第一客户端10发送第五确认信息,以向第一客户端10告知自身以确认该第一关闭指令;并同时根据第一关闭指令生成第二关闭指令,该第二关闭指令中携带有与FIN M不同的结束符FIN N,并将第二关闭指令发送至第一客户端10供其进行确认;第一客户端10接收到第二关闭指令后,生成第六确认信息以确认该第二关闭指令,并将该第六确认信息发送至服务器30;服务器30接收到该第六确认信息之后,即知悉第一客户端10已确认自身发出的第二关闭指令,表示不再有后续指令发送或接收,此时可断开与第一客户端10之间的第一长连接,即第一长连接生命周期中止。相应地,第二客户端20与服务器30之间的第二长连接的断开方式与第一客户端10的方式相同,在此不再详细赘述,需要了解的是,虽然在建立时需要第一长连接和第二长连接均完成建立,才能进行第一客户端10可第二客户端20之间的通信,但是在断开时,二者之间任意一方断开,即相当于第一客户端10和第二客户端20之间的通信断开。
在实际使用时,可能会出现因突然停电或设备电量极低导致的自动关机情况出现,使客户端无法按照正常流程实现长连接的断开流程,此时服务器30与客户端之间的长连接依旧处于连通状态,但是由于客户端断电或关机,已经无法接收或发出任何消息,因此,服务器30可以主动断开与客户端之间的长连接通道,以节省自身通信资源。具体地,服务器30实时统计当前时刻与其接收到最后一条来自客户端的控制指令的时刻之间的时间差,当该时间差超过预设时长时,服务器30判定客户端可能因为某些特殊缘由与网络断开或关机,此时主动断开与客户端之间的长连接,释放相应接口资源。
本实施例通过服务器30连接无法进行直接通信的第一客户端10和第二客户端20,并通过与二者之间分别建立的长连接实现控制指令执行结果的实时共享传递,保证第一客户端10和第二客户端20的使用者均可以及时获悉问诊过程中的信息,实现双方信息的对等,方便患者在问诊过程中对医生的操作过程进行参与和咨询,提升患者的看病体验。
下面结合具体实施例详述本公开信息交互系统的连接和使用过程。其中,第一客户端10为医生端使用的平板电脑,该平板电脑内置有医院的医疗信息系统,医生通过自身注册的用户名和密码登录至该医疗系统中,第二客户端20为供患者查阅问诊内容的大屏幕,可通过在大屏幕内输入对应的网址以进入患者的信息系统,同时,在大屏初始界面还可显示初始的序列码(即第一序列号),如图4所示,即由英文字母和数字随机组成的18位字符串,此时,大屏和服务器可通过该18位的字符串建立第二长连接。
医生在问诊时,首先登陆自己使用的平板电脑的信息系统,随后输入大屏上显示的18位字符串,以建立平板电脑与服务器之间的第一长连接。因为大屏显示的字符串一定是唯一的,而每个医生会有一个平板电脑跟大屏,只要平板电脑上医生输入跟大屏相同的字符串,这两个设备就会通过服务器端建立联系,实际使用时,平板电脑主要用来发送消息,大屏用来接收消息供患者查看。
平板电脑端的患者队列页面会显示当前就诊患者,候诊患者和已完成患者,点击当前就诊患者,平板电脑端跳到患者详细信息页面,如图5所示,同时平板电脑可以发送长连接请求给服务器端$socket.emit(‘medicine_detail_send’,{medicine_id:row.medicine_id,code:th is.getSession(‘lg_view_code’)}),服务器端收到长链接请求,根据请求的具体消息medicine_detail_send知道是要查询患者的详细信息,根据medicine_id从存储有患者信息的数据库查询相应的患者信息以后,再根据统一的字符串发送长连接消息medicine_detail_receive。
而此时大屏一直跟服务器端保持着长链接,就会收到服务器端发送过来的长连接消息medicine_detail_receive,消息中包含患者的详细信息,然后在大屏上显示患者的详细信息,如附图6,此时患者就能够及时看到,医生就会根据大屏上显示的信息跟患者进行交流,比如既往病史、过敏史等,如果医生在问诊中为患者开具了检查项目或者药方,相应项目的每一项具体内容都会显示在大屏上进行展示,医生可以逐个跟患者解释,或者患者对哪一项内容有疑问也可及时向医生提出,达到医患间信息对等,使患者的看病体验更好。
需要注意的是,如图5和图6所示,平板电脑端和大屏端的显示效果可能由于系统不同的原因产生区别,服务器在发送指令的执行结果时,发送的仅是信息的具体内容,其具体显示形式则由每个系统预先的布局情况进行确定。另外,在实际使用时,同一时刻一个平板电脑只能控制一个大屏的显示,但是在断开当前连接后,平板电脑可通过输入不同的序列号与其他大屏幕进行连接。
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本领域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围之内。
Claims (10)
1.一种基于长连接的信息交互方法,应用于服务器,其特征在于,包括:
基于第一序列号,建立与第一客户端之间的第一长连接和与第二客户端之间的第二长连接;
接收所述第一客户端的控制指令,将所述控制指令的执行结果通过所述第二长连接发送至所述第二客户端,或,将所述执行结果通过所述第一长连接发送至所述第一客户端并且将所述执行结果通过所述第二长连接发送至所述第二客户端。
2.根据权利要求1所述的信息交互方法,其特征在于,所述基于第一序列号,建立与第一客户端之间的第一长连接和与第二客户端之间的第二长连接,包括:
分别接收所述第一客户端发送的第一数据报和所述第二客户端发送的第二数据报,其中,所述第一数据报和所述第二数据报均至少包括所述第一序列号;
向所述第一客户端发送第一确认信息和第二序列号,向所述第二客户端发送第二确认信息和所述第二序列号,其中,所述第一确认信息和所述第二确认信息均用于确认所述第一序列号;
接收所述第一客户端发送的第三确认信息以及所述第二客户端发送的第四确认信息,其中,所述第三确认信息和所述第四确认信息均用于确认所述第二序列号;
根据所述第三确认信息建立与所述第一客户端之间的第一长连接,根据所述第四确认信息建立与所述第二客户端之间的第二长连接。
3.根据权利要求1所述的信息交互方法,其特征在于,所述接收所述第一客户端的控制指令,将所述控制指令的执行结果通过所述第二长连接发送至所述第二客户端,或,将所述执行结果通过所述第一长连接发送至所述第一客户端并且将所述执行结果通过所述第二长连接发送至所述第二客户端之后,还包括:
接收所述第一客户端发送的第一关闭指令;
基于所述第一关闭指令断开所述第一长连接。
4.根据权利要求3所述的信息交互方法,其特征在于,所述基于所述第一关闭指令断开所述第一长连接,包括:
向所述第一客户端发送第五确认信息,其中,所述第五确认信息用于确认所述第一关闭指令;
根据所述第一关闭指令生成第二关闭指令,并将所述第二关闭指令发送至所述第一客户端;
接收所述第一客户端发送的第六确认信息,其中,所述第六确认信息用于确认所述第二关闭指令;
根据所述第六确认信息断开与所述第一客户端之间的第一长连接。
5.根据权利要求1至4中任一项所述的信息交互方法,其特征在于,所述接收所述第一客户端的控制指令之后,还包括:
统计当前时刻与接收到最后一条所述控制指令的时刻之间的时间差;
在所述时间差超过预设时长的情况下,断开与所述第一客户端之间的第一长连接。
6.一种基于长连接的信息交互系统,其特征在于,包括:
第一客户端;
第二客户端;
服务器;
其中,所述服务器基于第一序列号,建立与所述第一客户端之间的第一长连接和与所述第二客户端之间的第二长连接;在接收到所述第一客户端的控制指令的情况下,将所述控制指令的执行结果通过所述第二长连接发送至所述第二客户端,或,将所述执行结果通过所述第一长连接发送至所述第一客户端并且将所述执行结果通过所述第二长连接发送至所述第二客户端。
7.根据权利要求6所述的信息交互系统,其特征在于,所述服务器基于第一序列号,建立与所述第一客户端之间的第一长连接和与所述第二客户端之间的第二长连接,包括:
所述第一客户端向所述服务器发送第一数据报,所述第二客户端向所述服务器发送第二数据报,其中,所述第一数据报和所述第二数据报均至少包括所述第一序列号;
所述服务器向所述第一客户端发送第一确认信息和第二序列号,并且向所述第二客户端发送第二确认信息和所述第二序列号,其中,所述第一确认信息和所述第二确认信息均用于确认所述第一序列号;
所述第一客户端向所述服务器发送第三确认信息,所述第二客户端向所述服务器发送第四确认信息,其中,所述第三确认信息和所述第四确认信息均用于确认所述第二序列号;
所述服务器根据所述第三确认信息建立与所述第一客户端之间的第一长连接,并根据所述第四确认信息建立与所述第二客户端之间的第二长连接。
8.根据权利要求6所述的信息交互系统,其特征在于,所述第一客户端还用于:向所述服务器发送第一关闭指令;
所述服务器还用于,在接收到所述第一关闭指令后,基于所述第一关闭指令断开所述第一长连接。
9.根据权利要求8所述的信息交互系统,其特征在于,所述基于所述第一关闭指令断开所述第一长连接,包括:
所述服务器向所述第一客户端发送第五确认信息,并根据所述第一关闭指令生成第二关闭指令,将所述第二关闭指令发送至所述第一客户端,其中,所述第五确认信息用于确认所述第一关闭指令;
所述第一客户端根据所述第二关闭指令生成第六确认信息,并将所述第六确认信息发送至所述服务器,其中,所述第六确认信息用于确认所述第二关闭指令;
所述服务器在接收到所述第六确认信息后,根据所述第六确认信息断开与所述第一客户端之间的第一长连接。
10.根据权利要求6至9中任一项所述的信息交互系统,其特征在于,所述服务器还用于:
统计当前时刻与接收到最后一条所述控制指令的时刻之间的时间差;
在所述时间差超过预设时长的情况下,断开与所述第一客户端之间的第一长连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010364703.8A CN111586148A (zh) | 2020-04-30 | 2020-04-30 | 一种基于长连接的信息交互方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010364703.8A CN111586148A (zh) | 2020-04-30 | 2020-04-30 | 一种基于长连接的信息交互方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111586148A true CN111586148A (zh) | 2020-08-25 |
Family
ID=72122821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010364703.8A Pending CN111586148A (zh) | 2020-04-30 | 2020-04-30 | 一种基于长连接的信息交互方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111586148A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125022A (zh) * | 2021-11-11 | 2022-03-01 | 深圳通康创智技术有限公司 | Cpe设备控制方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475753A (zh) * | 2013-09-29 | 2013-12-25 | 北京奇虎科技有限公司 | 数据传输方法、设备及系统 |
CN103501331A (zh) * | 2013-09-29 | 2014-01-08 | 北京奇虎科技有限公司 | 数据传输方法、设备及系统 |
CN105005201A (zh) * | 2015-06-04 | 2015-10-28 | 广东康宝电器股份有限公司 | 智能家居多移动终端数据同步与推送系统 |
CN106941536A (zh) * | 2017-05-03 | 2017-07-11 | 华东交通大学 | 基于http协议的客户端与服务器之间的数据交互方法 |
CN108206047A (zh) * | 2016-12-19 | 2018-06-26 | 哈尔滨光凯科技开发有限公司 | 一种基于互联网的医疗卫生服务病患移动随访系统 |
CN108881200A (zh) * | 2018-06-08 | 2018-11-23 | 江苏中威科技软件系统有限公司 | 基于tcp的多终端同时在线的方法和系统 |
CN110650159A (zh) * | 2019-10-25 | 2020-01-03 | 广州六一信息科技有限公司 | 多人互动的线上教学方法、装置及系统 |
-
2020
- 2020-04-30 CN CN202010364703.8A patent/CN111586148A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475753A (zh) * | 2013-09-29 | 2013-12-25 | 北京奇虎科技有限公司 | 数据传输方法、设备及系统 |
CN103501331A (zh) * | 2013-09-29 | 2014-01-08 | 北京奇虎科技有限公司 | 数据传输方法、设备及系统 |
CN105005201A (zh) * | 2015-06-04 | 2015-10-28 | 广东康宝电器股份有限公司 | 智能家居多移动终端数据同步与推送系统 |
CN108206047A (zh) * | 2016-12-19 | 2018-06-26 | 哈尔滨光凯科技开发有限公司 | 一种基于互联网的医疗卫生服务病患移动随访系统 |
CN106941536A (zh) * | 2017-05-03 | 2017-07-11 | 华东交通大学 | 基于http协议的客户端与服务器之间的数据交互方法 |
CN108881200A (zh) * | 2018-06-08 | 2018-11-23 | 江苏中威科技软件系统有限公司 | 基于tcp的多终端同时在线的方法和系统 |
CN110650159A (zh) * | 2019-10-25 | 2020-01-03 | 广州六一信息科技有限公司 | 多人互动的线上教学方法、装置及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125022A (zh) * | 2021-11-11 | 2022-03-01 | 深圳通康创智技术有限公司 | Cpe设备控制方法、装置、计算机设备及存储介质 |
CN114125022B (zh) * | 2021-11-11 | 2024-04-23 | 深圳通康创智技术有限公司 | Cpe设备控制方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Castelnuovo et al. | New and old tools in psychotherapy: The use of technology for the integration of the traditional clinical treatments. | |
JP2007508617A (ja) | 持続的なアプリケーションセッションにアクセスを提供する方法および装置 | |
CN103402071A (zh) | 基于电视机的医生患者信息交互方法、系统及设备 | |
CN210722478U (zh) | 一种基于kvm的远程医疗系统 | |
EP3018899A1 (en) | Video communication method and device | |
US20040034707A1 (en) | System and user interface supporting multiple different concurrent application interoperability methods | |
CN102904953A (zh) | 一种远程医疗服务系统及方法 | |
Holland et al. | The feasibility of using technology to enhance the transition of palliative care for rural patients | |
US20040028025A1 (en) | System and method for providing a two-way audio communication via a web browser | |
WO2023040380A1 (zh) | WebRTC通信方法及系统 | |
CN111586148A (zh) | 一种基于长连接的信息交互方法及系统 | |
US10044777B2 (en) | Method and device for communicating between at least a first terminal and a second terminal | |
CN103595611B (zh) | 即时通信应用的实现方法及系统、与设备 | |
JP4881930B2 (ja) | 画面共有システム及び画面共有方法 | |
EP1575216B1 (en) | Method to invoke service among devices in home network | |
CN103701877A (zh) | 交互式远程会诊系统和交互式远程会诊方法 | |
TW542988B (en) | System and method for providing a remedial video support group | |
US20130231948A1 (en) | Method and apparatus for providing health care service using universal plug and play | |
US20230007057A1 (en) | Systems and methods to establish service request interactions | |
US20030023458A1 (en) | System and method for providing medical care via a virtual call center | |
CN107222459A (zh) | 网络连接协商方法 | |
CN108833256A (zh) | 一种即时通讯方法及系统 | |
CN109830294A (zh) | 一种问诊交互控制方法及问诊交互控制装置 | |
CN111128404A (zh) | 一种远程会诊装置、方法及系统 | |
CN113965537B (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 |