一种基于Socket连接状态的监听方法及装置与流程
未命名
08-22
阅读:77
评论:0
一种基于socket连接状态的监听方法及装置
技术领域
1.本技术涉及网络通信领域,具体而言本技术实施例涉及一种基于socket连接状态的监听方法及装置。
背景技术:
2.网络日益发展的时代,使用socket套接字进行网络编程是不可或缺的,如何高效保证socket连接的安全、可靠性是首要进行考虑的。
3.相关技术方案的socket连接存在安全性低以及服务质量差的技术问题。
技术实现要素:
4.本技术实施例的目的在于提供一种基于socket连接状态的监听方法及装置,本技术实施例针对于服务器端websocket监听机制,设计一种基于socket连接状态的监听装置及方法,该方法可以提升socket连接的安全性和可靠性。
5.第一方面,本技术实施例提供一种基于socket连接状态的监听方法,所述监听方法包括:在至少一个客户端与服务器建立socket连接后:接收所述至少一个客户端中每个客户端发送的保活包;向所述服务器转发所述保活包;在所述至少一个客户端与所述服务器通过所述socket连接进行数据报文的传输过程中,监控与所述服务器建立的所有socket连接的总数目。
6.与相关技术方案相比,由于本技术的实施例增加了socket连接两端的保活包提升了socket连接可靠性,同时使用服务器端websocket监听连接机制,有效控制服务器端socket连接数量,对客户端建立socket连接的总数进行限制,降低服务端的资源消耗。
7.在一些实施例中,在所述至少一个客户端与所述服务器建立socket连接之前,所述方法还包括:接收来自于所述至少一个客户端中每个客户端的用户信息;确认所述用户信息通过身份认证。
8.本技术的一些实施例还需要对与服务器建立socket连接的客户端进行身份验证,对客户端请求websocket连接的用户信息进行权限校验,提高socket连接的安全性。
9.在一些实施例中,所述用户信息包括:用户名、用户口令、客户端ip地址和客户端端口号。
10.在一些实施例中,所述方法还包括:若确认所述总数目超过设置阈值,则关闭所述socket连接中的至少一个。
11.本技术的一些实施例在监控到服务器建立的socket连接的总数大于设置阈值时,会自动关闭至少一个连接,提升服务器的服务质量。
12.在一些实施例中,所述保活包是由相应客户端周期性生成并发送的。
13.本技术的一些实施例周期性生成保活包,监控客户端与服务器的连接状态,以便即时切断断开连接的客户端在服务器上已经建立的socket连接。
14.在一些实施例中,在所述至少一个客户端与所述服务器通过所述socket连接进行
所述数据报文传输之前,所述方法还包括:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向所述至少一个客户端中的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。
15.本技术的一些实施例在采用socket连接进行数据传输过程中,为了避免因为socket读写速度不匹配导致的读超时、写错误或tcp零窗口问题而造成c1异常断开连接或文件内容丢失,需要首先向各客户端提供服务器接收数据包的速度参数,即提供接收速度包。
16.在一些实施例中,所述接收速度包包括:当前连接发送文件总数、已处理文件数、接收端缓冲区大小和接收端接收速度。
17.在一些实施例中,所述方法还包括:将因所述服务器故障导致的待处理数据报文存入失败重试表中;重新建立socket连接,扫描所述失败重试表以恢复所述待处理数据报文。
18.本技术一些实施例的服务器在宕机、重启后能够恢复已建立的socket连接,并继续传输之前未同步的数据,增加用户重认证容错机制。
19.第二方面,本技术的一些实施例提供一种基于socket连接状态的监听装置,所述监听装置包括:用户保活模块,被配置为接收来自于客户端的保活包,并将所述保活包转发给服务器;用户数据传输模块,被配置为在与所述服务器建立socket连接的各客户端与所述服务进行数据传输的过程中,监控所述服务器的socket连接总数目。
20.在一些实施例中,所述用户数据传输模块还被配置为:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向与所述服务器建立socket连接的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。
21.在一些实施例中,所述监听装置还包括:用户身份校验模块,被配置为对客户端身份进行认证。
22.在一些实施例中,所述监听装置还包括:未同步数据记录模块,被配置为存储由于所述服务器故障导致的待处理数据报文,其中,所述待处理数据报文用于完成向与所述服务器重新建立连接socket连接后的数据传输。
23.第三方面,本技术的一些实施例提供一种数据传输系统,所述数据传输系统包括:至少一个客户端,被配置为发送socket连接建立请求,发送保活包,并发送数据传输报文;服务器,被配置为:响应于接收的socket连接请求与相应客户端建立socket连接;响应于接收的所有保活报文确认是否需要切断至少一个socket连接;完成与相应客户端的数据报文传输;基于socket连接状态的监听装置,被配置为:完成对所述至少一个客户端的身份认证;响应于来自于所述客户端的所述socket连接请求,对相应客户端进行身份认证并在身份认证通过后向所述服务器提供相应的socket连接请求;响应于接收的所述保活包,向所述服务器发送所述保活包;在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向所述至少一个客户端中的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度;响应于接收的所述数据传输报文,向对应socket连接的服务器进行发送。
附图说明
24.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
25.图1为本技术实施例提供的基于socket连接的系统架构图;
26.图2为本技术实施例提供的基于socket连接状态的监听方法的流程图之一;
27.图3为本技术实施例提供的基于socket连接状态的监听方法的流程图之二;
28.图4为本技术实施例提供的基于socket连接状态的监听装置的组成框图;
29.图5为本技术实施例提供的电子设备组成示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
31.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
32.本技术的发明人在研究中发现现有技术至少存在如下技术缺陷:第一,相关技术没有对用户请求websocket连接的用户信息进行权限校验,不能防止非法用户通过伪造客户端ip地址建立socket连接;第二,相关技术没有对外网第一服务端和外网第二服务端建立socket连接的总数进行限制,不能保证服务端的资源利用率和服务质量;第三,相关技术没有对服务器宕机、重启后恢复已建立的socket连接,并继续传输之前未同步的数据的容错机制,不能保证数据的完整性和一致性。
33.至少为了解决上述技术问题,在本技术的一些实施例的服务器对客户端建立socket连接的总数进行限制,防止过多的socket连接占用服务器资源。本技术的一些实施例的服务器对客户端请求websocket连接的用户信息进行权限校验,防止非法用户建立socket连接。本技术的一些实施例的服务器在宕机、重启后能够恢复已建立的socket连接,并继续传输之前未同步的数据,增加用户重认证容错机制。本技术一些实施例的客户端和服务器之间在进行socket读写操作时能够避免因为读写速度差导致的read time out读超时、write error写错误等问题。
34.请参看图1,图1为本技术一些实施例的基于socket连接的系统,与相关技术不同的是本技术一些实施例在需要建立socket连接的客户端(即图1的第一客户端110)和服务器(即图1的第二服务器130)之间增加一个基于socket连接的监听服务器(即图1的监听服务器120),其中,监听服务器120用于监听socket连接的状态。
35.需要说明的是,本技术一些实施例的基于socket连接状态的监听方法运行于图1的监听服务器120上。
36.下面示例性阐述由监听服务器120执行的基于socket连接状态的监听方法。
37.如图2所示,本技术实施例提供一种基于socket连接状态的监听方法,该监听方法包括:在至少一个客户端与服务器建立socket连接后:s101,接收所述至少一个客户端中每个客户端发送的保活包;s102,向所述服务器转发所述保活包;s103,在所述至少一个客户
端与所述服务器通过所述socket连接进行数据报文的传输过程中,监控与所述服务器建立的所有socket连接的总数目。
38.不难理解的是,与相关技术方案相比,由于本技术的实施例增加了socket连接两端的保活包提升了socket连接可靠性,同时使用服务器端websocket监听连接机制,有效控制服务器端socket连接数量,对客户端建立socket连接的总数进行限制,降低服务端的资源消耗。
39.需要说明的是,为了提高socket连接的安全性,在本技术的一些实施例中,在所述至少一个客户端与所述服务器建立socket连接之前,所述方法还包括:接收来自于所述至少一个客户端中每个客户端的用户信息;确认所述用户信息通过身份认证。例如,在本技术的一些实施例中,所述用户信息包括:用户名、用户口令、客户端ip地址和客户端端口号。也就是说,本技术的一些实施例还需要对与服务器建立socket连接的客户端进行身份验证,对客户端请求websocket连接的用户信息进行权限校验,提高socket连接的安全性。
40.为了进一步提升服务器的服务质量,在本技术的一些实施例中,所述基于socket连接状态的监听方法还包括:若确认所述总数目超过设置阈值,则关闭所述socket连接中的至少一个。例如,在本技术的一些实施例中,所述保活包是由相应客户端周期性生成并发送的。
41.不难理解的是,本技术的一些实施例周期性生成保活包,监控客户端与服务器的连接状态,以便即时切断断开连接的客户端在服务器上已经建立的socket连接。本技术的一些实施例在监控到服务器建立的socket连接的总数大于设置阈值时,会自动关闭至少一个连接,提升服务器的服务质量。
42.为了避免因为socket读写速度不匹配导致的读超时、写错误或tcp零窗口问题而造成客户端异常断开连接或文件内容丢失,在本技术的一些实施例中,在所述至少一个客户端与所述服务器通过所述socket连接进行所述数据报文传输之前,所述方法还包括:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向所述至少一个客户端中的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。例如,在本技术的一些实施例中,所述接收速度包包括:当前连接发送文件总数、已处理文件数、接收端缓冲区大小和接收端接收速度。本技术的一些实施例在采用socket连接进行数据传输过程中,需要首先向各客户端提供服务器接收数据包的速度参数,即提供接收速度包。
43.为了实现在服务器在宕机、重启后能够恢复已建立的socket连接,并继续传输之前未同步的数据,在本技术的一些实施例中,所述方法还包括:将因所述服务器故障导致的待处理数据报文存入失败重试表中;重新建立socket连接,扫描所述失败重试表以恢复所述待处理数据报文。也就是说,本技术一些实施例的服务器在宕机、重启后能够恢复已建立的socket连接,并继续传输之前未同步的数据,增加用户重认证容错机制。
44.下面结合图3示例性阐述本技术一些实施例提供的基于socket连接状态的监听方法。
45.如图3所示,本技术一些实施例提供的基于socket连接状态的监听方法包括:
46.1)装置程序启动,进行用户注册。
47.启动socket连接状态监听装置,等待客户端请求服务器注册服务,并提交用户注
册数据。
48.2)启动服务,进行用户注册。
49.服务器开启注册服务,对客户端提交的用户注册数据进行验证,验证成功后返回注册成功信息。
50.3)建立连接,获取socket通道。
51.客户端收到注册成功信息后建立socket连接,并向socket连接状态监听装置发送用户信息(包含用户名、用户口令、客户端ip、客户端port等)请求websocket连接。
52.4)校验用户权限。
53.socket连接状态监听装置对客户端发送的用户信息进行权限校验,如果校验失败,则判定为非法连接,并关闭当前客户端socket连接通道。
54.5)websocket.accept()建立socket连接。
55.如果校验成功,则与服务器建立websocket连接,并获取socket连接通道。
56.6)开启心跳检测模块
57.socket连接状态监听装置开启心跳检测模块,每10秒定时检查客户端是否发送心跳包。
58.7)socket用户保活
59.客户端每10秒定期发送用户保活包至socket连接状态监听装置。
60.8)定期接收保活包,保证用户不掉线。
61.服务器每10秒定期接收socket连接状态监听装置转发的用户保活包,防止因网络抖动导致正常发送心跳包延迟;如果连续3次(30秒内)未收到心跳包,则判定为客户端用户掉线,并关闭当前socket连接通道,将用户状态设为离线。
62.9)socket数据传输
63.socket数据传输借助数据传输、数据结果校验模块(或称为用户数据传输模块)在客户端和服务器端之间传输。
64.连接建立成功后,客户端通过socket传输数据至服务器,服务器通过socket回送数据接收结果至客户端;为了避免服务器端socket连接无限增长的情况,socket连接状态监听装置在数据传输和回送结果的过程中都要检查服务器当前已建立的客户端socket连接数量和用户权限,如果检查失败,则关闭当前socket连接通道。
65.下面结合图4示例性阐述本技术一些实施例提供的基于socket连接状态的监听装置,该装置可以设置于图1的监听服务器上。
66.请参考图4,图4示出了本技术实施例提供的基于socket连接状态的监听装置,应理解,该装置与上述图2方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该基于socket连接状态的监听装置,包括:用户保活模块121以及用户数据传输模块122。
67.用户保活模块,被配置为接收来自于客户端的保活包,并将所述保活包转发给服务器。也就是说,在本技术的一些实施例中用户保活模块的主要功能是实现服务器端和客户端之间的用户保活机制,保证当前客户端建立的socket连接不掉线(建立socket连接时需要携带在线用户信息,不携带或携带非法用户信息即判定为非法连接),防止客户端或服
务器正常下线或者宕机、重启导致的websocket校验失败问题。
68.用户数据传输模块,被配置为在与所述服务器建立socket连接的各客户端与所述服务进行数据传输的过程中,监控所述服务器的socket连接总数目。也就是说,用户数据传输模块的主要功能是检查当前客户端和服务端之间进行数据传输的socket连接是否正常进行读写操作,避免因为socket读写速度差(例如传输大批量文件时接收端文件落地比较慢,导致tcp zero零窗口事件,发送端需要等待接收端更新滑动窗口后才能继续同步数据,如果接收端长时间不进行tcp window update更新窗口,则发送端等待超时关闭连接)导致的read time out读超时、write error写错误问题;为了解决这个问题,在此场景下本技术的一些实施例新增了连接监听机制,在发送64字节监听包后等待回复包到达时间内没有收到回复包,则关闭当前socket连接;此外,服务器还要检查当前正在进行数据同步的客户端socket连接数量是否超过最大支持并发数量,如果超过则返回错误信息并关闭当前客户端socket连接通道。用户数据传输模块还对当前客户端socket连接进行了并发数限制,并保障其可用状态;为了防止在读写数据结果时导致当前socket超时关闭连接的问题,在此场景下本技术的一些实施例添加了传输结果心跳机制,在发送64字节心跳包后等待回复包到达时间内没有收到回复包,则关闭当前socket连接。
69.不难理解的是,在本技术的一些实施例中,所述用户数据传输模块还被配置为:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向与所述服务器建立socket连接的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。
70.为了对用户身份进行认证,在本技术的一些实施例中,所述监听装置还包括:用户身份校验模块,被配置为对客户端身份进行认证。也就是说,用户认证模块的主要功能是验证客户端请求服务器websocket连接的合法性,只有在服务器注册过的用户才能建立websocket连接,否则视为非法连接,并关闭当前客户端socket连接通道;为了解决服务器宕机、重启导致当前客户端已建立的socket连接丢失传输数据的问题,用户认证模块增加了用户重认证子模块,将因服务器宕机、重启导致的数据存入失败重试表中,等待用户重认证成功后,客户端和服务器重新上线,并重新建立socket连接,扫描失败重试表记录恢复之前未同步的数据,增加容错机制。
71.不难理解的是,在本技术的一些实施例中,所述监听装置还包括:未同步数据记录模块,被配置为存储由于所述服务器故障导致的待处理数据报文,其中,所述待处理数据报文用于完成向与所述服务器重新建立连接socket连接后的数据传输。
72.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
73.如图1所示,本技术的一些实施例提供一种数据传输系统,所述数据传输系统包括:至少一个客户端(例如,图1的第一客户端110),被配置为发送socket连接建立请求,发送保活包,并发送数据传输报文;服务器(即图1的服务器130),被配置为:响应于接收的socket连接请求与相应客户端建立socket连接;响应于接收的所有保活报文确认是否需要切断至少一个socket连接;完成与相应客户端的数据报文传输;基于socket连接状态的监听装置(设置于途1的监听服务器120上),被配置为:完成对所述至少一个客户端的身份认证;响应于来自于所述客户端的所述socket连接请求,对相应客户端进行身份认证并在身
份认证通过后向所述服务器提供相应的socket连接请求;响应于接收的所述保活包,向所述服务器发送所述保活包;在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向所述至少一个客户端中的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度;响应于接收的所述数据传输报文,向对应socket连接的服务器进行发送。
74.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
75.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
76.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
77.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
78.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
79.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
80.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
技术特征:
1.一种基于socket连接状态的监听方法,其特征在于,所述监听方法包括:在至少一个客户端与服务器建立socket连接后:接收所述至少一个客户端中每个客户端发送的保活包;向所述服务器转发所述保活包;在所述至少一个客户端与所述服务器通过所述socket连接进行数据报文的传输过程中,监控与所述服务器建立的所有socket连接的总数目。2.如权利要求1所述的监控方法,其特征在于,在所述至少一个客户端与所述服务器建立socket连接之前,所述方法还包括:接收来自于所述至少一个客户端中每个客户端的用户信息;确认所述用户信息通过身份认证。3.如权利要求2所述的监控方法,其特征在于,所述用户信息包括:用户名、用户口令、客户端ip地址和客户端端口号。4.如权利要求1所述的监听方法,其特征在于,所述方法还包括:若确认所述总数目超过设置阈值,则关闭所述socket连接中的至少一个。5.如权利要求1所述的监听方法,其特征在于,所述保活包是由相应客户端周期性生成并发送的。6.如权利要求1所述的监听方法,其特征在于,在所述至少一个客户端与所述服务器通过所述socket连接进行所述数据报文传输之前,所述方法还包括:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向所述至少一个客户端中的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。7.如权利要求6所述的监听方法,其特征在于,所述接收速度包包括:当前连接发送文件总数、已处理文件数、接收端缓冲区大小和接收端接收速度。8.如权利要求1所述的监听方法,其特征在于,所述方法还包括:将因所述服务器故障导致的待处理数据报文存入失败重试表中;重新建立socket连接,扫描所述失败重试表以恢复所述待处理数据报文。9.一种基于socket连接状态的监听装置,其特征在于,所述监听装置包括:用户保活模块,被配置为接收来自于客户端的保活包,并将所述保活包转发给服务器;用户数据传输模块,被配置为在与所述服务器建立socket连接的各客户端与所述服务进行数据传输的过程中,监控所述服务器的socket连接总数目。10.如权利要求9所述的监听装置,其特征在于,所述用户数据传输模块还被配置为:在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向与所述服务器建立socket连接的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度。11.如权利要求9所述的监听装置,其特征在于,所述监听装置还包括:用户身份校验模块,被配置为对客户端身份进行认证。12.如权利要求9所述的监听装置,其特征在于,所述监听装置还包括:未同步数据记录模块,被配置为存储由于所述服务器故障导致的待处理数据报文,其中,所述待处理数据报文用于完成向与所述服务器重新建立连接socket连接后的数据传
输。13.一种数据传输系统,其特征在于,所述数据传输系统包括:至少一个客户端,被配置为发送socket连接建立请求,发送保活包,并发送数据传输报文;服务器,被配置为:响应于接收的socket连接请求与相应客户端建立socket连接;响应于接收的所有保活报文确认是否需要切断至少一个socket连接;完成与相应客户端的数据报文传输;基于socket连接状态的监听装置,被配置为:完成对所述至少一个客户端的身份认证;响应于来自于所述客户端的所述socket连接请求,对相应客户端进行身份认证并在身份认证通过后向所述服务器提供相应的socket连接请求;响应于接收的所述保活包,向所述服务器发送所述保活包;在所述服务器将文件写入磁盘时模拟tcp窗口更新操作,向所述至少一个客户端中的每个客户端分别发送接收速度包,其中,所述接收速度包用于通知所述每个客户端调整发送速度;响应于接收的所述数据传输报文,向对应socket连接的服务器进行发送。
技术总结
本申请实施例提供一种基于Socket连接状态的监听方法及装置,所述监听方法包括:在至少一个客户端与服务器建立socket连接后:接收所述至少一个客户端中每个客户端发送的保活包;向所述服务器转发所述保活包;在所述至少一个客户端与所述服务器通过所述socket连接进行数据报文的传输过程中,监控与所述服务器建立的所有socket连接的总数目。本申请实施例针对于服务器端WebSocket监听机制,设计一种基于Socket连接状态的监听装置及方法,该方法可以提升socket连接的安全性和可靠性。可以提升socket连接的安全性和可靠性。可以提升socket连接的安全性和可靠性。
技术研发人员:桂苏民 温卓然
受保护的技术使用者:北京天融信科技有限公司 北京天融信软件有限公司
技术研发日:2023.05.23
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
