掌桥专利:专业的专利平台
掌桥专利
首页

一种跨平台通信连接方法、系统及电子设备

文献发布时间:2023-06-19 18:37:28


一种跨平台通信连接方法、系统及电子设备

技术领域

本发明涉及通信连接技术领域,具体涉及一种跨平台通信连接方法、系统及电子设备。

背景技术

客户端向服务端发起连接,服务端接受客户端连接,双方建立通信,客户端与服务端完成一次请求后,双方的连接并不会主动关闭,后续的读写操作会继续使用这个连接。长连接可以省去较多的TCP建立和关闭的操作,减少浪费,节约时间。对于频繁请求资源的客户端适合使用长连接。跨平台:平台指的是各种硬件和可运行在其上的操作系统或应用程序的组合。可运行在多个平台就叫做跨平台。但是现有技术中,客户端必须借助Ajx技术解析协议并发送页面消息给长连接服务,同时接受长连接消息回调给页面展示;对于无界面终端设备,由于无法应用Ajx技术导致长连接受阻,限制了长连接在多种平台下的应用。

发明内容

有鉴于此,本发明实施例提供了一种跨平台通信连接方法,以解决现有技术中长连接无法跨平台使用的问题。

为达到上述目的,本发明提供如下技术方案:

本发明实施例提供了一种跨平台通信连接方法,包括:

获取客户端的发送的长连接信息,所述长连接信息是所述客户端从目标服务器获取的,所述长连接信息包括:第一密钥、唯一ID和目标长连接服务端的地址;

基于所述目标长连接服务端的地址向目标长连接服务端发送带有所述第一密钥和所述唯一ID的连接请求,以使所述目标长连接服务端基于所述连接请求通过所述客户端长连接库与所述客户端建立通信连接。

可选的,所述方法还包括:

接收所述客户端发送的心跳信号,所述心跳信号为所述客户端根据预设时间定时发送的;

对所述心跳信号进行解析并将解析后的心跳信号发送至所述目标长连接服务端,以使所述目标长连接服务端根据解析后的心跳信号检测其与所述客户端的通信连接状态。

可选的,所述方法还包括:

接收所述客户端发送的断连指令;

对所述断连指令进行解析并将解析后的断连指令发送至所述目标长连接服务端以使所述目标长连接服务端根据解析后的断连指令断开与所述客户端的通信连接。

可选的,所述方法还包括:

接收所述客户端发送的通信数据,对所述通信数据进行解析发送至所述目标长连接服务端;

接收所述目标长连接服务端发送的通信数据,对所述通信数据进行解析发送至所述客户端。

本发明实施例还提供了一种跨平台通信连接方法,应用于长连接服务端,包括:

获取客户端长连接库发送的连接请求,所述连接请求带有目标服务器的第一密钥和唯一ID;

基于所述唯一ID从所述目标服务器获取与所述唯一ID对应的第二密钥;

根据所述第二密钥对所述第一密钥进行校验;

当所述校验通过后,通过所述客户端长连接库与所述目标客户端建立通信连接。

可选的,所述方法还包括:

获取需要进行传输的通信数据;

将所述通信数据通过所述客户端长连接库发送至所述目标客户端。

可选的,所述方法还包括:

接收所述客户端长连接库发送的断连指令,所述断连指令是所述客户端长连接库对所述目标客户端发送的断连指令进行解析后得到的;

根据所述断连指令断开与所述目标客户端之间的通信连接。

本发明实施例还提供了一种跨平台通信连接系统,包括:客户端长连接库、若干客户端和若干长连接服务端,其中,

所述客户端长连接库获取客户端的发送的长连接信息,所述长连接信息是所述客户端从目标服务器获取的,所述长连接信息包括:第一密钥、唯一ID和目标长连接服务端的地址;基于所述目标长连接服务端的地址向目标长连接服务端发送带有所述第一密钥和所述唯一ID的连接请求;

所述目标长连接服务端获取客户端长连接库发送的连接请求,所述连接请求带有目标服务器的第一密钥和唯一ID;基于所述唯一ID从所述目标服务器获取与所述唯一ID对应的第二密钥;根据所述第二密钥对所述第一密钥进行校验;当所述校验通过后,通过所述客户端长连接库与所述目标客户端建立通信连接。

本发明实施例还提供了一种电子设备,包括:

存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明实施例提供的跨平台通信连接方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明实施例提供的跨平台通信连接方法。

本发明技术方案,具有如下优点:

1、本发明提供了一种跨平台通信连接方法,应用于客户端长连接库,通过获取客户端的发送的长连接信息,长连接信息是客户端从目标服务器获取的,长连接信息包括:第一密钥、唯一ID和目标长连接服务端的地址;基于目标长连接服务端的地址向目标长连接服务端发送带有第一密钥和唯一ID的连接请求,以使目标长连接服务端基于连接请求通过客户端长连接库与客户端建立通信连接。本发明通过利用客户端长连接库建立客户端和长连接服务端之间的长连接通信,无需每次通信都重新建立连接,有效降低CPU及内存的占用,减少了TCP请求,减少网络的堵塞,减少后续请求的响应时间;适用于当前市场绝大部分移动端系统,充分满足各种场景下对长连接的需求,且接入方便,对终端设备类型无要求。

2、本发明提供了一种跨平台通信连接方法,应用于长连接服务端,通过获取客户端长连接库发送的连接请求,连接请求带有目标服务器的第一密钥和唯一ID;基于唯一ID从目标服务器获取与唯一ID对应的第二密钥;根据第二密钥对第一密钥进行校验;当校验通过后,通过客户端长连接库与目标客户端建立通信连接。本发明通过通过密钥校验可以有效避免错误连接关系的建立,增强连接建立的准确性和数据传输的安全性;同时,通过利用客户端长连接库建立客户端和长连接服务端之间的长连接通信,无需每次通信都重新建立连接,有效降低CPU及内存的占用,减少了TCP请求,减少网络的堵塞,减少后续请求的响应时间;适用于当前市场绝大部分移动端系统,充分满足各种场景下对长连接的需求,且接入方便,对终端设备类型无要求。

3、本发明提供了一种跨平台通信连接系统,包括:客户端,客户端长连接库和长连接服务端,其中,客户端长连接库获取客户端的发送的长连接信息,长连接信息是客户端从目标服务器获取的,长连接信息包括:第一密钥、唯一ID和目标长连接服务端的地址;基于目标长连接服务端的地址向目标长连接服务端发送带有第一密钥和唯一ID的连接请求;目标长连接服务端获取客户端长连接库发送的连接请求,连接请求带有目标服务器的第一密钥和唯一ID;基于唯一ID从目标服务器获取与唯一ID对应的第二密钥;根据第二密钥对第一密钥进行校验;当校验通过后,通过客户端长连接库与目标客户端建立通信连接。本发明所提供的系统通过利用客户端长连接库建立客户端和长连接服务端之间的长连接通信,无需每次通信都重新建立连接,有效降低CPU及内存的占用,减少了TCP请求,减少网络的堵塞,减少后续请求的响应时间;适用于当前市场绝大部分移动端系统,充分满足各种场景下对长连接的需求,且接入方便,对终端设备类型无要求。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中跨平台通信连接方法的流程图;

图2为根据本发明实施例中检测通信连接状态的流程图;

图3为根据本发明实施例中向长连接服务端发送断连指令的流程图;

图4为根据本发明实施例中进行双向通信的流程图;

图5为根据本发明实施例中跨平台通信连接方法的流程图;

图6为根据本发明实施例中向客户端长连接库发送通信数据的流程图;

图7为根据本发明实施例中长连接服务端端来连接的流程图;

图8为本发明实施例中跨平台通信连接系统的结构示意图;

图9为本发明实施例中的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明实施例,提供了一种跨平台通信连接方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本实施例中提供了一种跨平台通信连接方法,应用于客户端长连接库,如图1所示,该跨平台通信连接方法包括如下步骤:

步骤S11:获取客户端的发送的长连接信息,长连接信息是客户端从目标服务器获取的,长连接信息包括:第一密钥、唯一ID和目标长连接服务端的地址。

步骤S12:基于目标长连接服务端的地址向目标长连接服务端发送带有第一密钥和唯一ID的连接请求,以使目标长连接服务端基于连接请求通过客户端长连接库与客户端建立通信连接。具体的,通过解析对长连接信息进行格式转换,将长连接信息的字节序转换为与目标长连接服务端一致的格式,从而通过长连接信息中的长连接服务端地址向目标长连接服务端发送带有唯一ID的地址标识的连接请求。客户端长连接库利用了JNI(JavaNative Interface)技术,可通过使用Java本地接口书写程序,根据不同平台或终端设备的协议,将数据在网络字节序和本地字节序之间进行转换,可以确保代码在不同的平台上方便移植。

通过上述步骤S11至步骤S12,本发明实施例提供的跨平台通信连接方法,通过利用客户端长连接库建立客户端和长连接服务端之间的长连接通信,无需每次通信都重新建立连接,有效降低CPU及内存的占用,减少了TCP请求,减少网络的堵塞,减少后续请求的响应时间;适用于当前市场绝大部分移动端系统,充分满足各种场景下对长连接的需求,且接入方便,对终端设备类型无要求。

具体地,在一实施例中,上述应用户客户端长连接库的跨平台通信连接方法,如图2所示,具体还包括如下步骤:

步骤S111:接收客户端发送的心跳信号,心跳信号为客户端根据预设时间定时发送的。

步骤S112:对心跳信号进行解析并将解析后的心跳信号发送至目标长连接服务端,以使目标长连接服务端根据解析后的心跳信号检测其与客户端的通信连接状态。

具体的,通过对心跳信号进行协议解析转换,使得心跳信号转换为与目标长连接服务端数据格式一致的信号,便于目标长连接服务端根据解析后的心跳信号检测其与客户端的通信连接状态。由于有些防火墙或者电脑管理软件会把超过一定时间没有通讯的连接当作死连接断开,发送心跳信号是为了检测其与客户端的通信连接状态是否已经断开,若断开则根据步骤S11和S12重新建立连接,保证链路通畅,从而确保通信可随时进行。

具体地,在一实施例中,上述应用户客户端长连接库的跨平台通信连接方法,如图3所示,具体还包括如下步骤:

步骤S121:接收客户端发送的断连指令。具体的,断连指令指的是客户端需要与长连接服务端断开连接不再进行通讯传输时所发出的指令信号。

步骤S122:对断连指令进行解析并将解析后的断连指令发送至目标长连接服务端以使目标长连接服务端根据解析后的断连指令断开与客户端的通信连接。

具体的,通过对断连指令进行协议解析转换,将断连指令转换为与目标长连接服务端数据格式一致的指令信号,使目标长连接服务端根据解析后的断连指令断开与客户端的通信连接。由于客户端长连接库内包含多种协议,通过对断连指令进行解析,可以让断连指令与目标长连接服务端的格式统一,使目标长连接服务端可以快速根据断连指令进行断开。

具体地,在一实施例中,上述应用户客户端长连接库的跨平台通信连接方法,如图4所示,具体还包括如下步骤:

步骤S131:接收客户端发送的通信数据,对通信数据进行解析发送至目标长连接服务端。

步骤S132:接收目标长连接服务端发送的通信数据,对通信数据进行解析发送至客户端。

具体的,通过客户端长连接库进行双向解析,使双方接收到的数据与自身格式统一,使信息传输不再受到跨平台之间解析协议转换受阻的限制。

在本实施例中提供了一种跨平台通信连接方法,应用于长连接服务端,如图5所示,该跨平台通信连接方法包括如下步骤:

步骤S21:获取客户端长连接库发送的连接请求,连接请求带有目标服务器的第一密钥和唯一ID。

步骤S22:基于唯一ID从目标服务器获取与唯一ID对应的第二密钥。

步骤S23:根据第二密钥对第一密钥进行校验。具体的,通过判断第二密钥与第一密钥是否一致,当校验结果不一致时,拒绝与目标客户端建立长连接通信,确保建立正确的连接。

步骤S24:当校验通过后,通过客户端长连接库与目标客户端建立通信连接。

通过上述步骤S21至步骤S24,本发明实施例提供的跨平台通信连接方法,通过密钥校验可以有效避免错误连接关系的建立,增强连接建立的准确性和数据传输的安全性;同时,通过利用客户端长连接库建立客户端和长连接服务端之间的长连接通信,无需每次通信都重新建立连接,有效降低CPU及内存的占用,减少了TCP请求,减少网络的堵塞,减少后续请求的响应时间;适用于当前市场绝大部分移动端系统,充分满足各种场景下对长连接的需求,且接入方便,对终端设备类型无要求。

具体地,在一实施例中,上述用于长连接服务端的跨平台通信连接方法,如图6所示,具体还包括如下步骤:

步骤S211:获取需要进行传输的通信数据。

步骤S212:将通信数据通过客户端长连接库发送至目标客户端。

具体的,通过客户端长连接库对通信数据进行数据解析后发送至目标客户端,使数据传输不再受场景和终端设备类型的限制。

具体地,在一实施例中,上述用于长连接服务端的跨平台通信连接方法,如图7所示,具体还包括如下步骤:

步骤S221:接收客户端长连接库发送的断连指令,断连指令是客户端长连接库对目标客户端发送的断连指令进行解析后得到的。

步骤S222:根据断连指令断开与目标客户端之间的通信连接。

具体的,由于断连指令是客户端长连接库对目标客户端发送的断连指令进行解析后得到的,不仅没有了传输限制,还可以加快服务端的反应时间,使长连接服务端可快速根据解析后的断连指令进行反应断开连接。

在本实施例中还提供了一种跨平台通信连接系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如图8所示,包括:

客户端长连接库、若干客户端和若干长连接服务端,其中,

客户端长连接库获取客户端的发送的长连接信息,长连接信息是客户端从目标服务器获取的,长连接信息包括:第一密钥、唯一ID和目标长连接服务端的地址;基于目标长连接服务端的地址向目标长连接服务端发送带有第一密钥和唯一ID的连接请求;

目标长连接服务端获取客户端长连接库发送的连接请求,连接请求带有目标服务器的第一密钥和唯一ID;基于唯一ID从目标服务器获取与唯一ID对应的第二密钥;根据第二密钥对第一密钥进行校验;当校验通过后,通过客户端长连接库与目标客户端建立通信连接。

本发明所提供的系统通过利用客户端长连接库建立客户端和长连接服务端之间的长连接通信,无需每次通信都重新建立连接,有效降低CPU及内存的占用,减少了TCP请求,减少网络的堵塞,减少后续请求的响应时间;适用于当前市场绝大部分移动端系统,充分满足各种场景下对长连接的需求,且接入方便,对终端设备类型无要求。

根据本发明实施例还提供了一种电子设备,如图9所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图9中以通过总线连接为例。

处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。

存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。

上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

技术分类

06120115630918