一种云游戏终端的加速方法及其装置制造方法及图纸

技术编号:35136539 阅读:16 留言:0更新日期:2022-10-05 10:11
本发明专利技术公开了一种一种云游戏终端的加速方法及其装置,涉及计算机技术领域,解决了云游戏终端速度慢用户体验差的技术问题,其技术方案要点是通过安装在云游戏客户端的LSP加速客户端自动选择速度最快的代理服务器进行数据转发,以达到数据加速作用。同时能够有效减少网络丢包和网络延迟,特别是针对云游戏场景,能够为用户提供几乎最好的质量和最低延时的视听体验和交互体验。的视听体验和交互体验。的视听体验和交互体验。

【技术实现步骤摘要】
一种云游戏终端的加速方法及其装置


[0001]本申请涉及计算机
,尤其涉及一种云游戏终端的加速方法及其装置。

技术介绍

[0002]云游戏是指游戏基于云端运行,并将渲染完毕后的游戏画面压缩编码后,通过网络以音视频流方式传输到终端;终端侧通过对音视频进行解码播放,并通过将操控指令上传到云端形成游戏互动的过程。
[0003]针对云游戏应用的场景,如何对数据进行加速,为用户提供质量较好和低延时的视听体验和交互体验是亟需解决的问题。

技术实现思路

[0004]本申请提供了一种云游戏终端的加速方法及其装置,其技术目的是加速客户端自动选择最快的代理服务器作为当前的转发节点,保障云游戏体验过程中的视频和音频数据能够快速、稳定地传输至终端,提高用户云游戏的视听体验。
[0005]本申请的上述技术目的是通过以下技术方案得以实现的:
[0006]一种云游戏终端的加速方法,包括:
[0007]在云游戏客户端安装LSP加速客户端;
[0008]所述云游戏客户端试图连接云游戏服务器时,所述LSP加速客户端将所述云游戏客户端重定向至代理服务器;
[0009]所述LSP加速客户端通过Socks5协议与所述代理服务器进行数据协商,通过所述代理服务器连接云游戏服务器;
[0010]其中,所述LSP加速客户端将所述云游戏客户端重定向至代理服务器,包括:通过所述LSP加速客户端选择一个速度最快的代理服务器,然后将所述云游戏客户端重定向至代理服务器。
[0011]进一步地,所述LSP加速客户端通过Socks5协议与所述代理服务器进行数据协商,通过所述代理服务器连接云游戏服务器,包括:
[0012]所述LSP加速客户端通过Socks5协议将鉴权信息通知给所述代理服务器,并通知所述代理服务器所述云游戏客户端需要连接的云游戏服务器的地址;
[0013]所述LSP加速客户端与所述代理服务器协商完毕后,所述云游戏客户端通过所述代理服务器与所述云游戏服务器进行交互。
[0014]进一步地,所述云游戏客户端通过connect函数或WSAConnect函数试图连接所述云游戏服务器。
[0015]一种云游戏终端的加速装置,包括云游戏客户端、代理服务器和云游戏服务器,所述代理服务器与所述云游戏客户端和所述云游戏服务器均连接;
[0016]所述云游戏客户端包括LSP加速客户端,所述LSP加速客户端包括互相连接的Socks5数据协商模块和LSP协议动态库模块,所述Socks5数据协商模块与所述代理服务器
连接,所述LSP协议动态库模块与所述云游戏客户端连接。
[0017]进一步地,所述LSP协议动态库模块包括Socket函数,所述Socket函数包括connect函数、WSAConnect函数、send函数和recv函数。
[0018]本申请的有益效果在于:本申请所述的云游戏终端的加速方法及其装置,通过安装在云游戏客户端的LSP加速客户端自动选择速度最快的代理服务器进行数据转发,以达到数据加速作用。同时能够有效减少网络丢包和网络延迟,特别是针对云游戏场景,能够为用户提供几乎最好的质量和最低延时的视听体验和交互体验。
附图说明
[0019]图1为本申请所述加速装置的结构示意图;
[0020]图2为本申请具体实施例中通过LSP进行加速的流程图;
[0021]图3为Socks5数据协商流程图;
[0022]图4为LSP协议劫持注入DLL的安装流程图。
具体实施方式
[0023]下面将结合附图对本申请技术方案进行详细说明。
[0024]如图1所示,本申请所述加速装置包括云游戏客户端、代理服务器和云游戏服务器,所述代理服务器与所述云游戏客户端和所述云游戏服务器均连接。
[0025]所述云游戏客户端包括LSP加速客户端,所述LSP加速客户端包括互相连接的Socks5数据协商模块和LSP协议动态库模块,所述Socks5数据协商模块与所述代理服务器连接,所述LSP协议动态库模块与所述云游戏客户端连接。
[0026]作为具体实施例地,通过LSP进行加速的流程如图2所示,首先在LSP协议动态库模块中导出WSPStartup函数,并调用GetProvider在Winsock目录中查找原协议服务提供者,遍历所有协议,找到下层提供者协议,取得下层提供者的DLL路,调用GetProcAddress取出下层提供者的WSPStartup函数,复制下层提供者(基础协议)的整个函数表,将基础协议的lpWSPConnect函数指针,指向自定义的WSPConnect函数,用于应用程序调用connect或WSPConnect函数试图进行TCP连接时,将会先进入LSP DLL中定义的WSPConnect函数,然后判断应用程序试图连接的服务器IP和端口是不是待加速的服务器,若是则执行到Socks5Proxy函数与代理服务器连接,并进行代理协商,否则执行g_NextProcTable中原有的连接函数,流程与未安装LSP协议前一致。
[0027]LSP协议动态库模块用于:编写LSP协议并安装到现有协议之上,并导出WSPStartup函数,当有应用程序创建套接字时,会自动执行到该函数。在WSPStartup函数中,参数信息指明了应用程序期望采用哪种协议来创建套接字(所有的协议存在于一个协议链中,该协议链也包括安装的LSP协议),在该函数中加载下层协议,并调用下层协议提供者的WSPStartup函数初始化,同时修改传递给上层的函数表,将需要Hook的Winsock2函数指针的地址指向自定义的函数。
[0028]LSP协议的生效,首先需要将LSP协议安装到云游戏客户端,只有安装了自定义的LSP协议,应用程序在调用ws2_32.dll中的函数时就会执行到我们的LSP的DLL中,如图4所示。安装LSP协议首先需要安装协议链,通过将下层协议的信息拷贝过来,修改成本申请需
要的协议,并进行安装;然后对协议链进行排序,将自定义的协议放在协议链的最上层,以保证ws2_32.dll调用到的第一个协议是自定义的协议。
[0029]Socks5数据协商模块用于:通过LSP技术Hook到相应的套接字函数进行数据转发之前,需要进行Socks5代理协商,即将鉴权信息通知给代理服务器,并告知代理服务器云游戏客户端需要连接的实际云游戏服务器的地址,代理协商完成后才能进行数据的收发。本申请在Hook到connect函数后直接在内部进行阻塞式的代理协商,直到协商完毕后才将connect函数返回给用户,此时云游戏客户端拿到的socket实际上是连接到代理服务器的socket,当云游戏客户端应用程序通过这个socket收发数据时,实际上是在和代理服务器交互,而这一过程对应用程序来说是透明的,应用程序以为是直接在和云游戏服务器进行通信。
[0030]本申请所述的云游戏终端的加速方法,包括:
[0031]S1:在云游戏客户端安装LS本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云游戏终端的加速方法,其特征在于,包括:在云游戏客户端安装LSP加速客户端;所述云游戏客户端试图连接云游戏服务器时,所述LSP加速客户端将所述云游戏客户端重定向至代理服务器;所述LSP加速客户端通过Socks5协议与所述代理服务器进行数据协商,通过所述代理服务器连接云游戏服务器;其中,所述LSP加速客户端将所述云游戏客户端重定向至代理服务器,包括:通过所述LSP加速客户端选择一个速度最快的代理服务器,然后将所述云游戏客户端重定向至代理服务器。2.如权利要求1所述的加速方法,其特征在于,所述LSP加速客户端通过Socks5协议与所述代理服务器进行数据协商,通过所述代理服务器连接云游戏服务器,包括:所述LSP加速客户端通过Socks5协议将鉴权信息通知给所述代理服务器,并通知所述代理服务器所述云游戏客户端需要连接的云游戏服务器的地址;所述LSP加速客户端与所述代理...

【专利技术属性】
技术研发人员:张卫江付志鹏刘世伟
申请(专利权)人:炫彩互动网络科技有限公司
类型:发明
国别省市:

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

1