透明代理实现方法、装置、计算机设备和介质制造方法及图纸

技术编号:32229765 阅读:12 留言:0更新日期:2022-02-09 17:34
本公开涉及一种透明代理实现方法、装置、计算机设备和介质;其中,该方法包括:响应于客户端发送的消息,为客户端创建对应的目标客户端套接字,其中,目标客户端套接字绑定有客户端待访问的目的地址;确定目标客户端套接字对应的服务器套接字;通过目标服务器套接字将消息发送至目的地址对应的目标服务器中,以供目标服务器对消息进行处理。本公开实施例通过为每个客户端创建对应的目标客户端套接字,使得每个客户端都有自己的收发队列,能够在高并发通信的情况下,缓解通信压力,减少丢包事件的发生,同时通过目标客户端套接字和服务器套接字实现了透明代理。字实现了透明代理。字实现了透明代理。

【技术实现步骤摘要】
透明代理实现方法、装置、计算机设备和介质


[0001]本公开涉及互联网
,尤其涉及一种透明代理实现方法、装置、计算机设备和介质。

技术介绍

[0002]随着移动互联网的飞速发展,各种业务流量在网络中传输,伴随而生的就是各种个性化的特色需求,需要对各种业务流量进行分拣,并发送到对应的服务器进行信息加工与处理。
[0003]透明代理是接收客户端发送的原始数据并将原始数据转发送至各个专用服务器的关键桥梁,能够使客户端和对应的服务器在感觉不到其存在的情况下建立通信链路。因此,透明代理的实现是具有重要意义的。

技术实现思路

[0004]为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种透明代理实现方法、装置、计算机设备和介质。
[0005]第一方面,本公开提供了一种透明代理实现方法,包括:
[0006]响应于客户端发送的消息,为所述客户端创建对应的目标客户端套接字,其中,所述目标客户端套接字绑定有所述客户端待访问的目的地址;
[0007]确定所述目标客户端套接字对应的服务器套接字;
[0008]通过所述目标服务器套接字将所述消息发送至所述目的地址对应的目标服务器中,以供所述目标服务器对所述消息进行处理。
[0009]可选的,所述确定所述目标客户端套接字对应的服务器套接字,包括:
[0010]创建Nginx连接,并将所述目标客户端套接字存储至所述Nginx连接中;
[0011]根据所述Nginx连接,为所述目标客户端套接字创建对应的服务器套接字。
[0012]可选的,所述响应于客户端发送的消息,为所述客户端创建对应的目标客户端套接字之前,还包括:
[0013]确定当前客户端为目标类型的客户端,其中,所述目标类型的客户端为首次对服务器进行访问的客户端。
[0014]可选的,所述确定当前客户端为目标类型的客户端,包括:
[0015]获取接收所述当前客户端发送的消息的套接字的类型,其中,所述套接字的类型包括监听套接字和客户端套接字;
[0016]若所述套接字的类型为所述监听套接字,则确定所述当前客户端为目标类型的客户端。
[0017]可选的,所述方法还包括:
[0018]通过所述服务器套接字接收所述目标服务器对所述消息进行处理后得到的响应;
[0019]将所述响应发送至与所述服务器套接字对应的目标客户端套接字,以供所述目标
客户端套接字将所述响应传输至所述目标客户端套接字对应的客户端。
[0020]可选的,所述客户端待访问的目的地址通过以下方式得到:
[0021]设置所述监听套接字的目标属性;
[0022]根据所述目标属性以及对应的接收函数,确定所述客户端待访问的目的地址。
[0023]可选的,所述方法还包括:
[0024]将所述目标客户端套接字添加至所述Nginx的左连接中;
[0025]对所述左连接的读写事件进行设置,并将设置好的左连接添加至所述Nginx对应的事件模块中进行监听。
[0026]第二方面,本公开提供了一种透明代理实现装置,包括:
[0027]创建模块,用于响应于客户端发送的消息,为所述客户端创建对应的目标客户端套接字,其中,所述目标客户端套接字绑定有所述客户端待访问的目的地址;
[0028]确定模块,用于确定所述目标客户端套接字对应的服务器套接字;
[0029]发送模块,用于通过所述目标服务器套接字将所述消息发送至所述目的地址对应的目标服务器中,以供所述目标服务器对所述消息进行处理。
[0030]可选的,确定模块,具体用于:
[0031]创建Nginx连接,并将所述目标客户端套接字存储至所述Nginx连接中;
[0032]根据所述Nginx连接,为所述目标客户端套接字创建对应的服务器套接字。
[0033]可选的,上述装置还包括:
[0034]客户端确定模块,具体用于:在响应于客户端发送的消息,为所述客户端创建对应的目标客户端套接字之前,确定当前客户端为目标类型的客户端,其中,所述目标类型的客户端为首次对服务器进行访问的客户端。
[0035]可选的,客户端确定模块,还具体用于:
[0036]获取接收所述当前客户端发送的消息的套接字的类型,其中,所述套接字的类型包括监听套接字和客户端套接字;
[0037]若所述套接字的类型为所述监听套接字,则确定所述当前客户端为目标类型的客户端。
[0038]可选的,上述装置还包括:
[0039]接收模块,用于通过所述服务器套接字接收所述目标服务器对所述消息进行处理后得到的响应;
[0040]传输模块,用于将所述响应发送至与所述服务器套接字对应的目标客户端套接字,以供所述目标客户端套接字将所述响应传输至所述目标客户端套接字对应的客户端。
[0041]可选的,所述客户端待访问的目的地址通过以下方式得到:
[0042]设置所述监听套接字的目标属性;
[0043]根据所述目标属性以及对应的接收函数,确定所述客户端待访问的目的地址。
[0044]可选的,上述装置还包括:
[0045]添加模块,用于将所述目标客户端套接字添加至所述Nginx的左连接中;
[0046]设置模块,用于对所述左连接的读写事件进行设置,并将设置好的左连接添加至所述Nginx对应的事件模块中进行监听。
[0047]第三方面,本公开还提供了一种计算机设备,包括:
[0048]一个或多个处理器;
[0049]存储装置,用于存储一个或多个程序,
[0050]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开实施例中的任一种所述的透明代理实现方法。
[0051]第四方面,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例中的任一种所述的透明代理实现方法。
[0052]本公开实施例提供的技术方案与现有技术相比具有如下优点:首先响应于客户端发送的消息,为客户端创建对应的目标客户端套接字,其中,目标客户端套接字绑定有客户端待访问的目的地址,然后确定目标客户端套接字对应的服务器套接字,最后通过目标服务器套接字将消息发送至目的地址对应的目标服务器中,以供目标服务器对消息进行处理,上述方法中通过为每个客户端创建对应的目标客户端套接字,使得每个客户端都有自己的收发队列,能够在高并发通信的情况下,缓解通信压力,减少丢包事件的发生,同时通过目标客户端套接字和服务器套接字实现了透明代理。
附图说明
[0053]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0054]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种透明代理实现方法,其特征在于,所述方法包括:响应于客户端发送的消息,为所述客户端创建对应的目标客户端套接字,其中,所述目标客户端套接字绑定有所述客户端待访问的目的地址;确定所述目标客户端套接字对应的服务器套接字;通过所述目标服务器套接字将所述消息发送至所述目的地址对应的目标服务器中,以供所述目标服务器对所述消息进行处理。2.根据权利要求1所述的方法,其特征在于,所述确定所述目标客户端套接字对应的服务器套接字,包括:创建Nginx连接,并将所述目标客户端套接字存储至所述Nginx连接中;根据所述Nginx连接,为所述目标客户端套接字创建对应的服务器套接字。3.根据权利要求1所述的方法,其特征在于,所述响应于客户端发送的消息,为所述客户端创建对应的目标客户端套接字之前,还包括:确定当前客户端为目标类型的客户端,其中,所述目标类型的客户端为首次对服务器进行访问的客户端。4.根据权利要求3所述的方法,其特征在于,所述确定当前客户端为目标类型的客户端,包括:获取接收所述当前客户端发送的消息的套接字的类型,其中,所述套接字的类型包括监听套接字和客户端套接字;若所述套接字的类型为所述监听套接字,则确定所述当前客户端为目标类型的客户端。5.根据权利要求1所述的方法,其特征在于,还包括:通过所述服务器套接字接收所述目标服务器对所述消息进行处理后得到的响应;将所述响应发送至与所述服务器套接字对应的目标客户端套接字,以供所...

【专利技术属性】
技术研发人员:田宝生
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

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

1