一种实时消息传输方法、服务器和浏览器技术

技术编号:39192964 阅读:13 留言:0更新日期:2023-10-27 08:40
本发明专利技术公开了一种实时消息传输方法、服务器和浏览器,涉及互联网医疗技术领域。该方法的一具体实施方式包括:当接收到浏览器发送的携带目标请求路径的单向通道建立请求时,建立与浏览器之间的单向通道;使用预注册的消息获取事件,监听会话消息的更新,当监听到会话消息存在更新时,获取相应的更新消息,设置响应对象的响应格式;按照响应格式,对更新消息进行组装,得到组装结果,将组装结果写入响应对象,以通过单向通道返回至浏览器。该实施方式能够通过单向通道将响应对象实时推送至浏览器,避免了服务器拥堵、宕机的情况,同时能够自定义设置响应格式,便于浏览器处理。便于浏览器处理。便于浏览器处理。

【技术实现步骤摘要】
一种实时消息传输方法、服务器和浏览器


[0001]本专利技术涉及互联网医疗
,尤其涉及一种实时消息传输方法、服务器和浏览器。

技术介绍

[0002]互联网医疗场景中,医生和患者之间需要进行会话,而传统的会话消息实时显示功能会采用定时轮询服务器的方式,通过固定时间间隔请求服务器获取最新的消息列表,并重新展示在用户界面中。具体方案为:用户使用浏览器打开目标页面,浏览器通过两个定时器轮询服务器,其中一个定时器用于获取最新的消息列表,另一个定时器用于获取未读消息数量,服务器返回用户所有的消息列表;浏览器获取服务器响应的消息列表后,通过动态渲染的方式更新目标页面上用户的消息列表。
[0003]在实现本专利技术过程中,现有技术中至少存在如下问题:
[0004]两个定时器轮询服务器,,另外也会造成单位时间内浏览器请求服务器的数量激增,导致服务器遇到高并发情况,服务器的CPU(中央处理器)可用率下降,内存占用率上升,响应时效性下降,甚至直接导致服务器宕机。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种实时消息传输方法、服务器和浏览器,该方法通过在服务器与浏览器之间建立一个单向通道,服务器监听到会话消息的更新后,获取更新消息,并设置响应格式,之后按照响应格式对更新消息进行组装,并通过单向通道实时推送至浏览器,不会在单位时间内产生高并发的情况,避免了服务器拥堵、宕机的情况,同时能够自定义设置响应格式,便于浏览器处理。
[0006]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种实时消息传输方法。
[0007]本专利技术实施例的一种实时消息传输方法,包括:当接收到浏览器发送的携带目标请求路径的单向通道建立请求时,建立与所述浏览器之间的单向通道;使用预注册的消息获取事件,监听会话消息的更新,当监听到所述会话消息存在更新时,获取相应的更新消息,设置响应对象的响应格式;按照所述响应格式,对所述更新消息进行组装,得到组装结果,将所述组装结果写入所述响应对象,以通过所述单向通道返回至所述浏览器。
[0008]可选地,所述响应格式包括响应头的格式和响应数据的格式;所述设置响应对象的响应格式,包括:将响应对象的所述响应头的缓存控制属性设置为非缓存模式且禁止格式转换;将内容类型属性设置为事件流;将连接属性设置为保持连接;将编码类型属性设置为目标类型;将所述响应对象的所述响应数据的格式设置为设定的数据交换格式。
[0009]可选地,所述方法还包括:创建应用对象,为所述应用对象设置相应的请求方法;其中,所述请求方法以所述目标请求路径和回调函数为参数,用于使用所述回调函数处理携带所述目标请求路径的单向通道建立请求;在所述回调函数中注册所述消息获取事件。
[0010]可选地,所述回调函数包括请求对象和所述响应对象;所述方法还包括:构造对应
于所述单向通道建立请求的所述请求对象和所述响应对象;将所述请求对象和所述响应对象作为参数调用相应的回调函数,以执行所述使用预注册的消息获取事件,监听会话消息的更新的步骤。
[0011]为实现上述目的,根据本专利技术实施例的另一方面,提供了一种用于实时消息传输方法。
[0012]本专利技术实施例的一种用于实时消息传输方法,包括:实例化事件源对象,将目标请求路径作为参数传入所述事件源对象,在所述事件源对象上注册事件监听方法,以使用注册后的所述事件源对象向所述目标请求路径对应的服务器发送单向通道建立请求;当所述事件监听方法监听到所述服务器通过建立的单向通道返回的响应对象时,从所述响应对象中获取更新消息,将所述更新消息更新到目标页面;其中,所述响应对象按照实时消息传输方法生成。
[0013]可选地,所述单向通道建立请求的请求方法属性为指定请求类型;请求头的接受文件类型属性为事件流类型,缓存控制属性为非缓存模式;响应头的内容类型属性为事件流,编码类型属性为目标类型,缓存控制属性为非缓存模式且禁止格式转换。
[0014]为实现上述目的,根据本专利技术实施例的另一方面,提供了一种用于实时消息传输的服务器。
[0015]本专利技术实施例的一种用于实时消息传输的服务器,包括:通道建立模块,用于当接收到浏览器发送的携带目标请求路径的单向通道建立请求时,建立与所述浏览器之间的单向通道;格式设置模块,用于使用预注册的消息获取事件,监听会话消息的更新,当监听到所述会话消息存在更新时,获取相应的更新消息,设置响应对象的响应格式;响应返回模块,用于按照所述响应格式,对所述更新消息进行组装,得到组装结果,将所述组装结果写入所述响应对象,以通过所述单向通道返回至所述浏览器。
[0016]可选地,所述响应格式包括响应头的格式和响应数据的格式;所述格式设置模块,还用于将响应对象的所述响应头的缓存控制属性设置为非缓存模式且禁止格式转换;将内容类型属性设置为事件流;将连接属性设置为保持连接;将编码类型属性设置为目标类型;将所述响应对象的所述响应数据的格式设置为设定的数据交换格式。
[0017]可选地,所述装置还包括:创建注册模块,用于创建应用对象,为所述应用对象设置相应的请求方法;其中,所述请求方法以所述目标请求路径和回调函数为参数,用于使用所述回调函数处理携带所述目标请求路径的单向通道建立请求;以及在所述回调函数中注册所述消息获取事件。
[0018]可选地,所述回调函数包括请求对象和所述响应对象;所述装置还包括:构造回调模块,用于构造对应于所述单向通道建立请求的所述请求对象和所述响应对象;以及将所述请求对象和所述响应对象作为参数调用相应的回调函数,以执行所述使用预注册的消息获取事件,监听会话消息的更新的步骤。
[0019]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种用于实时消息传输的浏览器。
[0020]本专利技术实施例的一种用于实时消息传输的浏览器,包括:请求发送模块,用于实例化事件源对象,将目标请求路径作为参数传入所述事件源对象,在所述事件源对象上注册事件监听方法,以使用注册后的所述事件源对象向所述目标请求路径对应的服务器发送单
向通道建立请求;消息更新模块,用于当所述事件监听方法监听到所述服务器通过建立的单向通道返回的响应对象时,从所述响应对象中获取更新消息,将所述更新消息更新到目标页面;其中,所述响应对象按照实时消息传输方法生成。
[0021]可选地,所述单向通道建立请求的请求方法属性为指定请求类型;请求头的接受文件类型属性为事件流类型,缓存控制属性为非缓存模式;响应头的内容类型属性为事件流,编码类型属性为目标类型,缓存控制属性为非缓存模式且禁止格式转换。
[0022]为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备。
[0023]本专利技术实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的一种实时消息传输方法。
[0024]为实现上述目的,根据本专利技术实施例的再一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时消息传输方法,其特征在于,包括:当接收到浏览器发送的携带目标请求路径的单向通道建立请求时,建立与所述浏览器之间的单向通道;使用预注册的消息获取事件,监听会话消息的更新,当监听到所述会话消息存在更新时,获取相应的更新消息,设置响应对象的响应格式;按照所述响应格式,对所述更新消息进行组装,得到组装结果,将所述组装结果写入所述响应对象,以通过所述单向通道返回至所述浏览器。2.根据权利要求1所述的方法,其特征在于,所述响应格式包括响应头的格式和响应数据的格式;所述设置响应对象的响应格式,包括:将响应对象的所述响应头的缓存控制属性设置为非缓存模式且禁止格式转换;将内容类型属性设置为事件流;将连接属性设置为保持连接;将编码类型属性设置为目标类型;将所述响应对象的所述响应数据的格式设置为设定的数据交换格式。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:创建应用对象,为所述应用对象设置相应的请求方法;其中,所述请求方法以所述目标请求路径和回调函数为参数,用于使用所述回调函数处理携带所述目标请求路径的单向通道建立请求;在所述回调函数中注册所述消息获取事件。4.根据权利要求3所述的方法,其特征在于,所述回调函数包括请求对象和所述响应对象;所述方法还包括:构造对应于所述单向通道建立请求的所述请求对象和所述响应对象;将所述请求对象和所述响应对象作为参数调用相应的回调函数,以执行所述使用预注册的消息获取事件,监听会话消息的更新的步骤。5.一种实时消息传输方法,其特征在于,包括:实例化事件源对象,将目标请求路径作为参数传入所述事件源对象,在所述事件源对象上注册事件监听方法,以使用注册后的所述事件源对象向所述目标请求路径对应的服务器发送单向通道建立请求;当所述事件监听方法监听到所述服务器通过建立的单向通道返回的响应对象时,从所述响应对象中获取更新消息,将所述更新消息更新到目标页面;...

【专利技术属性】
技术研发人员:张云程
申请(专利权)人:北京京东拓先科技有限公司
类型:发明
国别省市:

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

1