System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Socket.IO的请求处理方法、装置、设备和介质制造方法及图纸_技高网

一种基于Socket.IO的请求处理方法、装置、设备和介质制造方法及图纸

技术编号:42866930 阅读:14 留言:0更新日期:2024-09-27 17:28
本发明专利技术涉及网络通讯技术领域,公开了一种基于Socket.IO的请求处理方法、装置、设备和介质,对web端口的用户访问请求进行拦截;对于websocket请求,基于创建的websocket服务端和websocket客户端,将用户访问请求转发至Socket.IO端口所连接的Socket.IO服务器。对于HTTP长轮询请求,基于HTTP代理技术将用户访问请求转发至Socket.IO端口所连接的Socket.IO服务器,以便于Socket.IO服务器对用户访问请求进行处理。针对不同类型的请求采取相对应的代理技术,在不暴露Socket.IO端口并且不增加硬件成本的情况下实现Socket.IO的代理功能。

【技术实现步骤摘要】

本专利技术涉及网络通讯,特别是涉及一种基于socket.io的请求处理方法、装置、设备和介质。


技术介绍

1、socket.io是一种低延迟、双向和基于事件的通信技术,被广泛应用于浏览器/服务器(browser/server,b/s)架构的工业物联网系统中。socket.io主要通过websocket进行通讯,同时进行了增强,在不支持websocket的情况下会自动回退成超文本传输协议(hypertext transfer protocol,http)长轮询,保证通讯正常。

2、一般b/s架构的工业物联网系统通常只会开放一个web端口供用户访问,而socket.io并不能共用该端口,需要单独开放一个端口调用。从用户体验、网络安全等多方面考虑,socket.io端口不应该暴露出去,这时候就需要网络代理来实现。目前的方案中,通常会加装一个代理服务器(nginx)来解决这个问题。但该方案会占用硬件资源,导致硬件成本的增加。而且在某些场景下,并不支持加装代理服务器。

3、可见,如何在不暴露socket.io端口并且不增加硬件成本的情况下实现socket.io的代理功能,是本领域技术人员需要解决的问题。


技术实现思路

1、本专利技术实施例的目的是提供一种基于socket.io的请求处理方法、装置、设备和介质,可以在不暴露socket.io端口并且不增加硬件成本的情况下实现socket.io的代理功能。

2、为解决上述技术问题,本专利技术实施例提供一种基于socket.io的请求处理方法,包括:

3、对web端口的用户访问请求进行拦截;

4、在所述用户访问请求所属的请求类型为websocket请求的情况下,基于创建的websocket服务端和websocket客户端,将所述用户访问请求转发至socket.io端口所连接的socket.io服务器;

5、在所述用户访问请求所属的请求类型为http长轮询请求的情况下,基于http代理技术将所述用户访问请求转发至socket.io端口所连接的socket.io服务器,以便于所述socket.io服务器对所述用户访问请求进行处理。

6、一方面,在对web端口的用户访问请求进行拦截之后,还包括:

7、判断所述用户访问请求是否携带有socket.io请求标识;

8、在所述用户访问请求携带有socket.io请求标识的情况下,判断所述用户访问请求的请求头是否包含websocket请求标识;

9、在所述用户访问请求的请求头包含websocket请求标识的情况下,判定所述用户访问请求的请求类型为websocket请求;

10、在所述用户访问请求的请求头不包含websocket请求标识的情况下,判定所述用户访问请求的请求类型为http长轮询请求。

11、一方面,还包括:

12、在所述用户访问请求未携带socket.io请求标识的情况下,放行所述用户访问请求。

13、一方面,在放行所述用户访问请求之后,还包括:

14、接收web服务器反馈的响应信息,并将所述响应信息反馈至与所述web端口连接的用户终端。

15、一方面,基于创建的websocket服务端和websocket客户端,将所述用户访问请求转发至socket.io端口所连接的socket.io服务器包括:

16、创建与所述web端口连接的websocket服务端,以便于通过所述websocket服务端接收所述用户访问请求;

17、创建与所述socket.io端口连接的websocket客户端,以便于通过websocket客户端接收所述websocket服务端传输的用户访问请求,并将所述用户访问请求转发至socket.io端口所连接的socket.io服务器。

18、一方面,在基于创建的websocket服务端和websocket客户端,将所述用户访问请求转发至socket.io端口所连接的socket.io服务器之后,还包括:

19、通过所述websocket客户端接收所述socket.io服务器传输的响应信息;

20、将所述响应信息通过所述websocket服务端反馈至与所述web端口连接的用户终端。

21、一方面,基于http代理技术将所述用户访问请求转发至socket.io端口所连接的socket.io服务器包括:

22、利用http代理技术建立与socket.io服务器进行数据交互的通道;

23、将所述用户访问请求通过所述通道转发至socket.io端口所连接的socket.io服务器。

24、本专利技术实施例还提供了一种基于socket.io的请求处理装置,包括拦截单元、第一转发单元和第二转发单元;

25、所述拦截单元,用于对web端口的用户访问请求进行拦截;

26、所述第一转发单元,用于在所述用户访问请求所属的请求类型为websocket请求的情况下,基于创建的websocket服务端和websocket客户端,将所述用户访问请求转发至socket.io端口所连接的socket.io服务器;

27、所述第二转发单元,用于在所述用户访问请求所属的请求类型为http长轮询请求的情况下,基于http代理技术将所述用户访问请求转发至socket.io端口所连接的socket.io服务器,以便于所述socket.io服务器对所述用户访问请求进行处理。

28、一方面,还包括第一判断单元、第二判断单元、第一判定单元和第二判定单元;

29、所述第一判断单元,用于判断所述用户访问请求是否携带有socket.io请求标识;

30、所述第二判断单元,用于在所述用户访问请求携带有socket.io请求标识的情况下,判断所述用户访问请求的请求头是否包含websocket请求标识;

31、所述第一判定单元,用于在所述用户访问请求的请求头包含websocket请求标识的情况下,判定所述用户访问请求的请求类型为websocket请求;

32、所述第二判定单元,用于在所述用户访问请求的请求头不包含websocket请求标识的情况下,判定所述用户访问请求的请求类型为http长轮询请求。

33、一方面,还包括放行单元;

34、所述放行单元,用于在所述用户访问请求未携带socket.io请求标识的情况下,放行所述用户访问请求。

35、一方面,还包括第一接收单元和第一反馈单元;

36、所述第一接收单元,用于接收web服务器反馈的响应信息;

37、所述第一反馈单元,用于将所述响应信息反馈至与所述web端口连接的用户终端。

38、一方面,所述第一转发单元包括第一创建子单元和第二创建子单元;

39、所述第一创建子单元本文档来自技高网...

【技术保护点】

1.一种基于Socket.IO的请求处理方法,其特征在于,包括:

2.根据权利要求1所述的基于Socket.IO的请求处理方法,其特征在于,在对web端口的用户访问请求进行拦截之后,还包括:

3.根据权利要求2所述的基于Socket.IO的请求处理方法,其特征在于,还包括:

4.根据权利要求3所述的基于Socket.IO的请求处理方法,其特征在于,在放行所述用户访问请求之后,还包括:

5.根据权利要求1所述的基于Socket.IO的请求处理方法,其特征在于,基于创建的websocket服务端和websocket客户端,将所述用户访问请求转发至Socket.IO端口所连接的Socket.IO服务器包括:

6.根据权利要求5所述的基于Socket.IO的请求处理方法,其特征在于,在基于创建的websocket服务端和websocket客户端,将所述用户访问请求转发至Socket.IO端口所连接的Socket.IO服务器之后,还包括:

7.根据权利要求1所述的基于Socket.IO的请求处理方法,其特征在于,基于HTTP代理技术将所述用户访问请求转发至Socket.IO端口所连接的Socket.IO服务器包括:

8.一种基于Socket.IO的请求处理装置,其特征在于,包括拦截单元、第一转发单元和第二转发单元;

9.一种基于Socket.IO的请求处理设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述基于Socket.IO的请求处理方法的步骤。

...

【技术特征摘要】

1.一种基于socket.io的请求处理方法,其特征在于,包括:

2.根据权利要求1所述的基于socket.io的请求处理方法,其特征在于,在对web端口的用户访问请求进行拦截之后,还包括:

3.根据权利要求2所述的基于socket.io的请求处理方法,其特征在于,还包括:

4.根据权利要求3所述的基于socket.io的请求处理方法,其特征在于,在放行所述用户访问请求之后,还包括:

5.根据权利要求1所述的基于socket.io的请求处理方法,其特征在于,基于创建的websocket服务端和websocket客户端,将所述用户访问请求转发至socket.io端口所连接的socket.io服务器包括:

6.根据权利要求5所述的基于socket.io的请求处理方法,其特征在于,...

【专利技术属性】
技术研发人员:方偕廉代晓松黄云俤张志勇倪军
申请(专利权)人:杭州安脉盛智能技术有限公司
类型:发明
国别省市:

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

1