一种模拟实现全双工即时通信方法与设备技术

技术编号:32639555 阅读:33 留言:0更新日期:2022-03-12 18:15
本申请公开了一种模拟实现全双工即时通信方法与设备,该方法包括:通过服务端接收客户端发送的HTTP请求;若所述HTTP请求为第一类HTTP请求,所述服务端响应所述第一类HTTP请求,与所述客户端建立SSE连接;若所述HTTP请求为第二类HTTP请求,所述服务端通过所述SSE连接向所述客户端发送所述第二类HTTP请求的处理结果,实现在服务端的端口受限的情况够模拟全双工进行即时的通信,提高通信的实时性,并降低服务器的资源浪费。降低服务器的资源浪费。降低服务器的资源浪费。

【技术实现步骤摘要】
一种模拟实现全双工即时通信方法与设备


[0001]本申请涉及信息通信
,尤其涉及一种模拟实现全双工即时通信方法与计算机设备。

技术介绍

[0002]常规实现双工即时通信采用的是全双工通信WebSocket方案,该方案要求服务端对设备特定端口进行监听,客户端对该端口发起连接,连接建立后,服务端和客户端即可互相推送数据。但是当服务端为虚拟主机,虚拟主机通常是一个超文本预处理器php环境或者活动服务器网页asp环境,在虚拟主机端口受限场景下,仅有80或者443端口用于接收HTTP(超文本传输协议Hyper Text Transfer Protocol)请求,同时无法另起服务监听其余端口,所以WebSocket技术在该场景下是无法使用的。
[0003]现有技术中,在无法使用WebSocket技术的情况下,实现类似双工通信采用的方案是轮询或者长连接技术。轮询是指客户端定时通过HTTP请求向服务端询问是否有新消息,但轮询间隔过长会导致消息不及时,间隔过短会导致请求过多服务器负担加重。长连接技术是对轮询技术的改进,客户端定时向服务端发起HTTP本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种模拟实现全双工即时通信方法,其特征在于,包括:服务端接收客户端发送的HTTP请求;若所述HTTP请求为第一类HTTP请求,所述服务端响应所述第一类HTTP请求,与所述客户端建立SSE连接;若所述HTTP请求为第二类HTTP请求,所述服务端通过所述SSE连接向所述客户端发送所述第二类HTTP请求的处理结果。2.按照权利要求1所述的模拟实现全双工即时通信方法,其特征在于,所述若所述HTTP请求为第一类HTTP请求,所述服务端响应所述第一类HTTP请求,与所述客户端建立SSE连接之后,包括:所述服务端在设定时间内循环读取所述第二类HTTP请求;若读取到所述第二类HTTP请求,处理所述第二类HTTP请求,将所述第二类HTTP请求的处理结果通过所述SSE连接发送至所述客户端;若未读取到所述第二类HTTP请求,停止循环读取所述第二类HTTP请求,并关闭所述SSE连接。3.按照权利要求2所述的模拟实现全双工即时通信方法,其特征在于,所述若未读取到所述第二类HTTP请求,停止循环读取所述第二类HTTP请求,并关闭所述SSE连接,包括:所述服务端在一次读取中未读取到所述第二类HTTP请求,通过所述SSE连接向所述客户端发送一个空信息包,以维持与所述客户端的SSE连接,并在剩余的所述设定时间中减去第一预设时间;所述设定时间结束后,停止循环读取所述第二类HTTP请求,并关闭所述SSE连接。4.按照权利要求2所述的模拟实现全双工即时通信方法,其特征在于,所述若读取到所述第二类HTTP请求,处理所述第二类HTTP请求,将所述第二类HTTP请求的处理结果通过所述SSE连接发送至所述客户端,包括:所述服务端在设定时间内循环读取所述第二类HTTP请求;若在设定时间内读取到所述第二类HTTP请求,重置所述设定时间,并处理所述第二类HTTP请求,将所述第二类HTTP请求的处理结果通过所述SSE连接发送至所述客户端;并且,在重置所述设定时间后,进行重置后设定时间内循环读取,且在同一设定时间内相邻的两次读取之间间隔第二预设时间,所述第二预设时间随所述读取的次数增多而增长。5.按照权...

【专利技术属性】
技术研发人员:陈宇轩
申请(专利权)人:武汉烽火技术服务有限公司
类型:发明
国别省市:

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

1