一种基于Socket连接状态的监听方法及装置与流程

文档序号:35205528发布日期:2023-08-22 16:56阅读:29来源:国知局
一种基于Socket连接状态的监听方法及装置与流程

本申请涉及网络通信领域,具体而言本申请实施例涉及一种基于socket连接状态的监听方法及装置。


背景技术:

1、网络日益发展的时代,使用socket套接字进行网络编程是不可或缺的,如何高效保证socket连接的安全、可靠性是首要进行考虑的。

2、相关技术方案的socket连接存在安全性低以及服务质量差的技术问题。


技术实现思路

1、本申请实施例的目的在于提供一种基于socket连接状态的监听方法及装置,本申请实施例针对于服务器端websocket监听机制,设计一种基于socket连接状态的监听装置及方法,该方法可以提升socket连接的安全性和可靠性。

2、第一方面,本申请实施例提供一种基于socket连接状态的监听方法,所述监听方法包括:在至少一个客户端与服务器建立socket连接后:接收所述至少一个客户端中每个客户端发送的保活包;向所述服务器转发所述保活包;在所述至少一个客户端与所述服务器通过所述socket连接进行数据报文的传输过程中,监控与所述服务器建立的所有socket连接的总数目。

3、与相关技术方案相比,由于本申请的实施例增加了socket连接两端的保活包提升了socket连接可靠性,同时使用服务器端websocket监听连接机制,有效控制服务器端socket连接数量,对客户端建立socket连接的总数进行限制,降低服务端的资源消耗。

4、在一些实施例中,在所述至少一个客户端与所述服务器建立socket连接之前,所述方法还包括:接收来自于所述至少一个客户端中每个客户端的用户信息;确认所述用户信息通过身份认证。

5、本申请的一些实施例还需要对与服务器建立socket连接的客户端进行身份验证,对客户端请求websocket连接的用户信息进行权限校验,提高socket连接的安全性。

6、在一些实施例中,所述用户信息包括:用户名、用户口令、客户端ip地址和客户端端口号。

7、在一些实施例中,所述方法还包括:若确认所述总数目超过设置阈值,则关闭所述socket连接中的至少一个。

8、本申请的一些实施例在监控到服务器建立的socket连接的总数大于设置阈值时,会自动关闭至少一个连接,提升服务器的服务质量。

9、在一些实施例中,所述保活包是由相应客户端周期性生成并发送的。

10、本申请的一些实施例周期性生成保活包,监控客户端与服务器的连接状态,以便即时切断断开连接的客户端在服务器上已经建立的socket连接。

11、在一些实施例中,在所述至少一个客户端与所述服务器通过所述socket连接进行所述数据报文传输之前,所述方法还包括:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向所述至少一个客户端中的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。

12、本申请的一些实施例在采用socket连接进行数据传输过程中,为了避免因为socket读写速度不匹配导致的读超时、写错误或tcp零窗口问题而造成c1异常断开连接或文件内容丢失,需要首先向各客户端提供服务器接收数据包的速度参数,即提供接收速度包。

13、在一些实施例中,所述接收速度包包括:当前连接发送文件总数、已处理文件数、接收端缓冲区大小和接收端接收速度。

14、在一些实施例中,所述方法还包括:将因所述服务器故障导致的待处理数据报文存入失败重试表中;重新建立socket连接,扫描所述失败重试表以恢复所述待处理数据报文。

15、本申请一些实施例的服务器在宕机、重启后能够恢复已建立的socket连接,并继续传输之前未同步的数据,增加用户重认证容错机制。

16、第二方面,本申请的一些实施例提供一种基于socket连接状态的监听装置,所述监听装置包括:用户保活模块,被配置为接收来自于客户端的保活包,并将所述保活包转发给服务器;用户数据传输模块,被配置为在与所述服务器建立socket连接的各客户端与所述服务进行数据传输的过程中,监控所述服务器的socket连接总数目。

17、在一些实施例中,所述用户数据传输模块还被配置为:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向与所述服务器建立socket连接的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。

18、在一些实施例中,所述监听装置还包括:用户身份校验模块,被配置为对客户端身份进行认证。

19、在一些实施例中,所述监听装置还包括:未同步数据记录模块,被配置为存储由于所述服务器故障导致的待处理数据报文,其中,所述待处理数据报文用于完成向与所述服务器重新建立连接socket连接后的数据传输。

20、第三方面,本申请的一些实施例提供一种数据传输系统,所述数据传输系统包括:至少一个客户端,被配置为发送socket连接建立请求,发送保活包,并发送数据传输报文;服务器,被配置为:响应于接收的socket连接请求与相应客户端建立socket连接;响应于接收的所有保活报文确认是否需要切断至少一个socket连接;完成与相应客户端的数据报文传输;基于socket连接状态的监听装置,被配置为:完成对所述至少一个客户端的身份认证;响应于来自于所述客户端的所述socket连接请求,对相应客户端进行身份认证并在身份认证通过后向所述服务器提供相应的socket连接请求;响应于接收的所述保活包,向所述服务器发送所述保活包;在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向所述至少一个客户端中的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度;响应于接收的所述数据传输报文,向对应socket连接的服务器进行发送。



技术特征:

1.一种基于socket连接状态的监听方法,其特征在于,所述监听方法包括:

2.如权利要求1所述的监控方法,其特征在于,在所述至少一个客户端与所述服务器建立socket连接之前,所述方法还包括:

3.如权利要求2所述的监控方法,其特征在于,所述用户信息包括:用户名、用户口令、客户端ip地址和客户端端口号。

4.如权利要求1所述的监听方法,其特征在于,所述方法还包括:若确认所述总数目超过设置阈值,则关闭所述socket连接中的至少一个。

5.如权利要求1所述的监听方法,其特征在于,所述保活包是由相应客户端周期性生成并发送的。

6.如权利要求1所述的监听方法,其特征在于,在所述至少一个客户端与所述服务器通过所述socket连接进行所述数据报文传输之前,所述方法还包括:

7.如权利要求6所述的监听方法,其特征在于,所述接收速度包包括:当前连接发送文件总数、已处理文件数、接收端缓冲区大小和接收端接收速度。

8.如权利要求1所述的监听方法,其特征在于,所述方法还包括:

9.一种基于socket连接状态的监听装置,其特征在于,所述监听装置包括:

10.如权利要求9所述的监听装置,其特征在于,所述用户数据传输模块还被配置为:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向与所述服务器建立socket连接的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。

11.如权利要求9所述的监听装置,其特征在于,所述监听装置还包括:

12.如权利要求9所述的监听装置,其特征在于,所述监听装置还包括:

13.一种数据传输系统,其特征在于,所述数据传输系统包括:


技术总结
本申请实施例提供一种基于Socket连接状态的监听方法及装置,所述监听方法包括:在至少一个客户端与服务器建立socket连接后:接收所述至少一个客户端中每个客户端发送的保活包;向所述服务器转发所述保活包;在所述至少一个客户端与所述服务器通过所述socket连接进行数据报文的传输过程中,监控与所述服务器建立的所有socket连接的总数目。本申请实施例针对于服务器端WebSocket监听机制,设计一种基于Socket连接状态的监听装置及方法,该方法可以提升socket连接的安全性和可靠性。

技术研发人员:桂苏民,温卓然
受保护的技术使用者:北京天融信网络安全技术有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1