CN114422570B - 一种跨平台的多模块通讯方法及系统 - Google Patents
一种跨平台的多模块通讯方法及系统 Download PDFInfo
- Publication number
- CN114422570B CN114422570B CN202111673259.9A CN202111673259A CN114422570B CN 114422570 B CN114422570 B CN 114422570B CN 202111673259 A CN202111673259 A CN 202111673259A CN 114422570 B CN114422570 B CN 114422570B
- Authority
- CN
- China
- Prior art keywords
- server
- client
- information
- module
- characteristic information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims abstract description 60
- 238000012795 verification Methods 0.000 claims description 17
- 238000013144 data compression Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种跨平台的多模块通讯方法及系统,方法包括当各个功能模块与服务器进行通讯时,每个功能模块获取其特征信息并存储至服务器中;每个功能模块被定义为客户端或服务端;当客户端与服务端进行通讯时,客户端向服务器发起特征查询指令;服务器根据特征查询指令寻找到服务端的特征信息,并将特性信息返回给客户端;客户端根据特征信息建立与服务端之间的TCP传输通道;客户端与服务端利用TCP传输通道传输通讯内容。该方法功能模块之间可以建立TCP传输通道,并利用TCP传输技术传输数据,这样即使将功能模块移植到多种平台,功能模块之间依旧可以利用TCP传输技术进行通讯,不受移植平台的影响。
Description
技术领域
本发明属于软件开发技术领域,具体涉及一种跨平台的多模块通讯方法及系统。
背景技术
目前软件开发工程中,很多庞大的功能都需要划分给多个团队进行协作完成。例如一个功能模块可能由A团队开发一部分,得到A功能模块,由B团队开发另一部分,得到B功能模块,然后A功能模块和B功能模块通过通讯进行组合拼接,实现一个完整的功能。所以在这种情况下,A功能模块和B功能模块需要完成通讯协调,这种跨模块甚至跨机器的通讯技术称为rpc技术。
但是现有的rpc库五花八门,没有通用的标准库,不能移植到多种平台,比如android、ios或国产平台。
发明内容
针对现有技术中的缺陷,本发明提供一种跨平台的多模块通讯方法及系统,功能模块之间能够进行跨平台通讯。
第一方面,一种跨平台的多模块通讯方法,包括以下步骤:
当各个功能模块与服务器进行通讯时,每个功能模块获取其特征信息并存储至服务器中;每个功能模块被定义为客户端或服务端;
当客户端与服务端进行通讯时,客户端向服务器发起特征查询指令;
服务器根据特征查询指令寻找到服务端的特征信息,并将特性信息返回给客户端;
客户端根据特征信息建立与服务端之间的TCP传输通道;
客户端与服务端利用TCP传输通道传输通讯内容。
优选地,特征信息包括功能模块ID。
优选地,客户端根据特征信息建立与服务端之间的TCP传输通道具体包括:
客户端向功能模块ID对应的服务端发起TCP连接请求;
客户端向服务端发送客户端版本信息;
服务端校验客户端版本信息,当校验通过时,服务端向客户端回复服务端版本信息和公钥密文;
客户端校验服务端版本信息,当校验通过时,客户端解密公钥密文,得到公钥,并利用公钥加密客户端IP地址、客户端MAC地址、客户端的功能模块ID和随机密码,得到第一加密信息,将第一加密信息发送给服务端;
服务端解密第一加密信息,得到随机密码,利用随机密码加密随机会话ID得到第二加密信息,将第二加密信息回复给客户端;
客户端解密第二加密信息,得到随机会话ID,根据随机会话ID建立与服务端之间的TCP传输通道。
优选地,当客户端或服务端利用TCP传输通道向对方发送通讯内容时,执行以下步骤:
客户端或服务端将通讯内容转化为二进制数据流;
客户端或服务端利用加密公钥对二进制数据流进行加密,得到密文;
客户端或服务端对密文进行压缩,得到压缩文件;
客户端或服务端将压缩文件发送给对方。
优选地,功能模块通过使用预设的客户端接口被定义为客户端;
或,功能模块通过使用预设的服务端接口被定义为服务端。
第二方面,一种跨平台的多模块通讯系统,包括:
多个功能模块:功能模块用于与服务器进行通讯时,获取其特征信息并发送给服务器;功能模块被定义为客户端或服务端;客户端与服务端进行通讯时,客户端向服务器发起特征查询指令,客户端根据接收到的服务端的特征信息建立与服务端之间的TCP传输通道,客户端与服务端利用TCP传输通道传输通讯内容;
服务器:与功能模块连接;服务器用于存储特征信息;服务器还用于根据特征查询指令寻找到服务端的特征信息,并将特性信息返回给客户端。
优选地,特征信息包括功能模块ID。
优选地,客户端通过以下步骤建立与服务端之间的TCP传输通道:
客户端向功能模块ID对应的服务端发起TCP连接请求;
客户端向服务端发送客户端版本信息;
服务端校验客户端版本信息,当校验通过时,服务端向客户端回复服务端版本信息和公钥密文;
客户端校验服务端版本信息,当校验通过时,客户端解密公钥密文,得到公钥,并利用公钥加密客户端IP地址、客户端MAC地址、客户端的功能模块ID和随机密码,得到第一加密信息,将第一加密信息发送给服务端;
服务端解密第一加密信息,得到随机密码,利用随机密码加密随机会话ID得到第二加密信息,将第二加密信息回复给客户端;
客户端解密第二加密信息,得到随机会话ID,根据随机会话ID建立与服务端之间的TCP传输通道。
优选地,功能模块包括:
数据编码单元:用于将通讯内容转化为二进制数据流;
数据加密单元:用于利用加密公钥对二进制数据流进行加密,得到密文;
数据压缩单元:用于对密文进行压缩,得到压缩文件;
数据传输单元:用于将压缩文件发送给另一功能模块。
优选地,功能模块通过使用预设的客户端接口被定义为客户端;
或,功能模块通过使用预设的服务端接口被定义为服务端。
由上述技术方案可知,本发明提供的跨平台的多模块通讯方法及系统,功能模块之间可以建立TCP传输通道,并利用TCP传输技术传输数据,这样功能模块之间的通讯不再拘泥于使用的rpc库,即使将功能模块移植到多种平台,功能模块之间依旧可以利用TCP传输技术进行通讯,不受移植平台的影响,功能模块之间能够进行跨平台通讯。这样该方法实现了跨多种平台(如android、ios、windows、linux等)且支持多种架构(如x86、arm、mips等)的跨平台通讯库。该通讯库可以轻松地集成到程序内部,实现跟其他机器上的其他功能模块进行通讯的功能。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为实施例提供的多模块通讯方法的流程图。
图2为实施例提供的TCP传输通道建立的数据交互示意图。
图3为实施例提供的通讯内容传输方法的流程图。
图4为实施例提供的多模块通讯系统的模块框图。
图5为实施例提供的功能模块的一种模块框图。
图6为实施例提供的功能模块的另一种模块框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
实施例一:
一种跨平台的多模块通讯方法,参见图1,包括以下步骤:
S1:当各个功能模块与服务器进行通讯时,每个功能模块获取其特征信息并存储至服务器中;每个功能模块被定义为客户端或服务端;
S2:当客户端与服务端进行通讯时,客户端向服务器发起特征查询指令;
S3:服务器根据特征查询指令寻找到服务端的特征信息,并将特性信息返回给客户端;
S4:客户端根据特征信息建立与服务端之间的TCP传输通道;
S5:客户端与服务端利用TCP传输通道传输通讯内容。
在本实施例中,一个软件开发过程中可能需要开发多个功能模块,所有功能模块使用的rpc库可能相同,也可能不同,也可能存在部分功能模块使用相同的rpc库。服务器可以设置在本地,也可以设置在云端,服务器可以由一台或多台计算机设备构成。功能模块的特征信息是功能模块的唯一标识,不同功能模块的特征信息不同。每个功能模块与服务器进行通讯时,可以将其特征信息并存储至服务器中,例如功能模块A与服务器通讯时,可以将其特征信息发送给服务器,缓存在服务器的Redis中。功能模块B与服务器通讯时,可以将其特征信息发送给服务器,缓存在服务器的Redis中,Redis为认证中心。
在本实施例中,各个功能模块可以根据自己的需求选择成为客户端或服务端。例如当开发一个加密的文件服务器FTP功能时,设计了两个功能模块:文件提供模块和文件下载模块。文件提供模块由于需要对外提供文件供文件下载模块下载,所以可以选择成为服务端,文件下载模块由于需要下载文件提供模块提供的文件,所以可以选择成为客户端。功能模块可以在开发时直接定义为客户端或服务端,也可以在使用过程中调整成为客户端或服务端。
在本实施例中,当客户端与服务端进行通讯时,客户端向服务器发起特征查询指令,服务器根据特征查询指令寻找到服务端的特征信息,并将特性信息返回给客户端。例如定义功能模块A为客户端,功能模块B为服务端,当功能模块A想要和功能模块B进行通讯时,功能模块A向服务器发起特征查询指令,服务器在存储空间中查找到功能模块B的特征信息后,将功能模块B的特征信息返回给功能模块A,其中,特征信息包括功能模块ID。
在本实施例中,当客户端获得服务端的特征信息后,可以建立客户端到服务端之间端到端的TCP传输通道,TCP传输通道建立好后,客户端和服务端就可以直接传输通讯内容,通讯内容即为各个功能模块之间需要传输的数据。这样功能模块之间就可以进行端到端的调用和传输,不再需要服务器进行中转。
该跨平台的多模块通讯方法,功能模块之间可以建立TCP传输通道,并利用TCP传输技术传输数据,这样功能模块之间的通讯不再拘泥于使用的rpc库,即使将功能模块移植到多种平台,功能模块之间依旧可以利用TCP传输技术进行通讯,不受移植平台的影响,功能模块之间能够进行跨平台通讯。这样该方法实现了跨多种平台(如android、ios、windows、linux等)且支持多种架构(如x86、arm、mips等)的通讯库。该通讯库可以轻松地集成到程序内部,实现跟其他机器上的其他功能模块进行通讯的功能。
进一步地,在一些实施例中,参见图2,客户端根据特征信息建立与服务端之间的TCP传输通道具体包括:
客户端向功能模块ID对应的服务端发起TCP连接请求;
客户端向服务端发送客户端版本信息;
服务端校验客户端版本信息,当校验通过时,服务端向客户端回复服务端版本信息和公钥密文;
客户端校验服务端版本信息,当校验通过时,客户端解密公钥密文,得到公钥,并利用公钥加密客户端IP地址、客户端MAC地址、客户端的功能模块ID和随机密码,得到第一加密信息,将第一加密信息发送给服务端;
服务端解密第一加密信息,得到随机密码,利用随机密码加密随机会话ID得到第二加密信息,将第二加密信息回复给客户端;
客户端解密第二加密信息,得到随机会话ID,根据随机会话ID建立与服务端之间的TCP传输通道。
在本实施例里,客户端发起TCP连接请求给服务端,然后客户端又将客户端版本信息发送给服务端。每个功能模块可以设有内置密码或配置密码。客户端版本信息可以包括由内置密码或配置密码对客户端的版本号进行加密后得到的数据,客户端的版本号可以为0.1.13、6.5.3等等。这样客户端的版本号在传输过程中,不会出现明文,保证了数据传输的安全性。由于每个功能模块都设有版本号,不同的版本号不一定都能做到完全向下兼容,所以客户端和服务端进行通讯时,要求双方版本号要一致,否则不能建立TCP传输通道,避免数据传输出现故障。所以服务端收到客户端版本信息,对客户端版本信息进行校验,校验过程可以为服务端采用内置密码或配置密码对客户端版本信息进行解密,如果解密成功,说明校验通过,如果解密不成功,说明校验不通过,此时无法建立客户端和服务端的TCP传输通道。所以当客户端与服务端采用的内置密码或配置密码一致时,才能保证解密成功,双方才能通过检验。
当服务端校验通过时,服务端回复服务端版本信息和公钥密文给客户端,同样服务端版本信息可以包括由内置密码或配置密码对服务端的版本号进行加密后得到的数据,公钥密文可以包括由内置密码或配置密码对公钥进行加密后得到的数据,公钥可以包括国密4非对称加密算法、国密4对称加密算法、RC4对称加密算法等等,服务端可以根据自身的需求选择一种公钥使用。
客户端收到服务端的服务端版本信息后,对服务端版本信息进行校验,同理,客户端对服务端版本信息的校验方法与服务端对客户端版本信息的校验方法相同。当客户端校验通过时,客户端解密公钥密文,解密过程包括采用内置密码或配置密码对公钥密文进行解密,如果解密成功,得到公钥。然后客户端获取客户端IP地址、客户端MAC地址、客户端的功能模块ID和随机密码,随机密码可以由客户端随机产生,并利用公钥对上述数据进行加密,得到第一加密信息,将第一加密信息发送给服务端,第一加密信息采用对称加密算法得到。
服务端接收到第一加密信息后,利用公钥对应的私钥对第一加密信息进行解密,得到随机密码,利用随机密码加密随机会话ID得到第二加密信息,返回给客户端,其中随机会话ID可以由服务端在每次连接客户端的时候随机生成,服务端在每次连接客户端的时候可以生成不同的随机会话ID,起到防回放的作用。
客户端接收到第二加密信息后,利用随机密码对第二加密信息进行解密,当解密成功时,得到随机会话ID,并根据随机会话ID建立与服务端之间的TCP传输通道。
该方法内置多个公钥,用户不需要额外引入加密功能库,支持安全性较强的加密算法,该方法全程过密文传输,数据传输安全性高。
进一步地,在一些实施例中,参见图3,当客户端或服务端利用TCP传输通道向对方发送通讯内容时,执行以下步骤:
S11:客户端或服务端将通讯内容转化为二进制数据流;
S12:客户端或服务端利用加密公钥对二进制数据流进行加密,得到密文;
S13:客户端或服务端对密文进行压缩,得到压缩文件;
S14:客户端或服务端将压缩文件发送给对方。
在本实施例中,通讯内容可能是复杂的文字,为了方便传输通讯内容,客户端或服务端首先将需要传输的通讯内容转化为二进制数据流,相比于复杂的通讯内容,二进制数据流更适合在网络中传播。然后采用加密公钥对二进制数据流进行加密,得到密文,例如客户端采用从服务端接收到的加密公钥进行加密,服务端采用自身得到的加密公钥进行加密。接着客户端或服务端对密文进行压缩,得到压缩文件,其中压缩算法可以为lzma压缩算法等主流算法,对密文进行压缩后传播,可以减小传播的数据量,减轻网络传播的负担。最后将压缩文件发送给对方,例如当客户端向服务端发送通讯内容时,客户端对通讯内容进行转化、加密、压缩后得到压缩文件,将压缩文件发送给服务端。当服务端向客户端发送通讯内容时,服务端对通讯内容进行转化、加密、压缩后得到压缩文件,将压缩文件发送给客户端。
该多模块通讯方法采用上述步骤对通讯内容进行处理,提高了网络传输的效率和安全性。
进一步地,在一些实施例中,功能模块通过使用预设的客户端接口被定义为客户端;
或,功能模块通过使用预设的服务端接口被定义为服务端。
在本实施例中,服务端接口可以由开发人员设定。例如设定客户端接口SITcpClient提供客户端功能,设定服务端接口SITcpServer提供服务端功能。
实施例二:
一种跨平台的多模块通讯系统,参见图4,包括:
多个功能模块1:功能模块1用于与服务器2进行通讯时,获取其特征信息并发送给服务器2;功能模块1被定义为客户端或服务端;客户端与服务端进行通讯时,客户端向服务器2发起特征查询指令,客户端根据接收到的服务端的特征信息建立与服务端之间的TCP传输通道,客户端与服务端利用TCP传输通道传输通讯内容;
服务器2:与功能模块1连接;服务器2用于存储特征信息;服务器2还用于根据特征查询指令寻找到服务端的特征信息,并将特性信息返回给客户端。
进一步地,在一些实施例中,特征信息包括功能模块ID。
进一步地,在一些实施例中,客户端通过以下步骤建立与服务端之间的TCP传输通道:
客户端向功能模块ID对应的服务端发起TCP连接请求;
客户端向服务端发送客户端版本信息;
服务端校验客户端版本信息,当校验通过时,服务端向客户端回复服务端版本信息和公钥密文;
客户端校验服务端版本信息,当校验通过时,客户端解密公钥密文,得到公钥,并利用公钥加密客户端IP地址、客户端MAC地址、客户端的功能模块ID和随机密码,得到第一加密信息,将第一加密信息发送给服务端;
服务端解密第一加密信息,得到随机密码,利用随机密码加密随机会话ID得到第二加密信息,将第二加密信息回复给客户端;
客户端解密第二加密信息,得到随机会话ID,根据随机会话ID建立与服务端之间的TCP传输通道。
进一步地,在一些实施例中,功能模块1包括:
数据编码单元11:用于将通讯内容转化为二进制数据流;
数据加密单元12:用于利用加密公钥对二进制数据流进行加密,得到密文;
数据压缩单元13:用于对密文进行压缩,得到压缩文件;
数据传输单元14:将压缩文件发送给另一功能模块1。
在本实施例中,功能模块1中以上4个单元可以采用以下的连接方式,参见图5,数据加密单元12连接数据编码单元11,数据压缩单元13连接数据加密单元12,数据传输单元14连接数据压缩单元13,每个单元都从上一单元获取需要处理的数据。功能模块1中以上4个单元可以采用另一种连接方式,参见图6,每个功能模块1中还可以设置内部功能连接单元15,内部功能连接单元15分别与数据编码单元11、数据加密单元12、数据压缩单元13和数据传输单元14连接,数据传输单元14负责实现跨平台的网络收发功能。内部功能连接单元15可以负责完成以上四个单元的初始化工作,例如内部功能连接单元15将用户选中的加密算法传输给数据加密单元12,将用户选中的压缩算法传输给数据压缩单元13,将通讯内容传输给数据编码单元11,内部功能连接单元15负责完成以上四个单元之间的数据传输,即以上四个单元之间的数据传输可以通过内部功能连接单元15进行中转,这样内部功能连接单元15就能将以上四个单元组合起来,实现完整的跨机器跨模块调用功能。
进一步地,在一些实施例中,功能模块1通过使用预设的客户端接口被定义为客户端;
或,功能模块1通过使用预设的服务端接口被定义为服务端。
本发明实施例所提供的系统,为简要描述,实施例部分未提及之处,可参考前述实施例中相应内容。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (6)
1.一种跨平台的多模块通讯方法,其特征在于,包括以下步骤:
当各个功能模块与服务器进行通讯时,每个功能模块获取其特征信息并存储至所述服务器中;每个所述功能模块被定义为客户端或服务端;
当所述客户端与所述服务端进行通讯时,所述客户端向所述服务器发起特征查询指令;
所述服务器根据所述特征查询指令寻找到所述服务端的特征信息,并将所述特征信息返回给所述客户端;
所述客户端根据所述特征信息建立与所述服务端之间的TCP传输通道;
所述客户端与所述服务端利用所述TCP传输通道传输通讯内容;
所述特征信息包括功能模块ID;
所述客户端根据所述特征信息建立与所述服务端之间的TCP传输通道具体包括:
所述客户端向所述功能模块ID对应的服务端发起TCP连接请求;
所述客户端向所述服务端发送客户端版本信息;
所述服务端校验所述客户端版本信息,当校验通过时,所述服务端向所述客户端回复服务端版本信息和公钥密文;
所述客户端校验所述服务端版本信息,当校验通过时,所述客户端解密所述公钥密文,得到公钥,并利用所述公钥加密客户端IP地址、客户端MAC地址、客户端的功能模块ID和随机密码,得到第一加密信息,将所述第一加密信息发送给所述服务端;
所述服务端解密所述第一加密信息,得到随机密码,利用所述随机密码加密随机会话ID得到第二加密信息,将所述第二加密信息回复给客户端;
所述客户端解密所述第二加密信息,得到随机会话ID,根据所述随机会话ID建立与所述服务端之间的TCP传输通道。
2.根据权利要求1所述跨平台的多模块通讯方法,其特征在于,
当所述客户端或所述服务端利用所述TCP传输通道向对方发送所述通讯内容时,执行以下步骤:
所述客户端或所述服务端将所述通讯内容转化为二进制数据流;
所述客户端或所述服务端利用所述加密公钥对所述二进制数据流进行加密,得到密文;
所述客户端或所述服务端对所述密文进行压缩,得到压缩文件;
所述客户端或所述服务端将所述压缩文件发送给对方。
3.根据权利要求1所述跨平台的多模块通讯方法,其特征在于,
所述功能模块通过使用预设的客户端接口被定义为所述客户端;
或,所述功能模块通过使用预设的服务端接口被定义为所述服务端。
4.一种跨平台的多模块通讯系统,其特征在于,包括:
多个功能模块:所述功能模块用于与服务器进行通讯时,获取其特征信息并发送给所述服务器;所述功能模块被定义为客户端或服务端;所述客户端与所述服务端进行通讯时,所述客户端向所述服务器发起特征查询指令,所述客户端根据接收到的所述服务端的特征信息建立与所述服务端之间的TCP传输通道,所述客户端与所述服务端利用所述TCP传输通道传输通讯内容;
服务器:与所述功能模块连接;所述服务器用于存储所述特征信息;所述服务器还用于根据所述特征查询指令寻找到所述服务端的特征信息,并将所述特征信息返回给所述客户端;
所述特征信息包括功能模块ID;
所述客户端通过以下步骤建立与所述服务端之间的TCP传输通道:
所述客户端向所述功能模块ID对应的服务端发起TCP连接请求;
所述客户端向所述服务端发送客户端版本信息;
服务端校验客户端版本信息,当校验通过时,所述服务端向所述客户端回复服务端版本信息和公钥密文;
所述客户端校验所述服务端版本信息,当校验通过时,客户端解密公钥密文,得到公钥,并利用公钥加密客户端IP地址、客户端MAC地址、客户端的功能模块ID和随机密码,得到第一加密信息,将第一加密信息发送给服务端;
所述服务端解密第一加密信息,得到随机密码,利用随机密码加密随机会话ID得到第二加密信息,将第二加密信息回复给客户端;
所述客户端解密第二加密信息,得到随机会话ID,根据随机会话ID建立与所述服务端之间的TCP传输通道。
5.根据权利要求4所述跨平台的多模块通讯系统,其特征在于,
所述功能模块包括:
数据编码单元:用于将所述通讯内容转化为二进制数据流;
数据加密单元:用于利用所述加密公钥对所述二进制数据流进行加密,得到密文;
数据压缩单元:用于对所述密文进行压缩,得到压缩文件;
数据传输单元:用于将所述压缩文件发送给另一功能模块。
6.根据权利要求4所述跨平台的多模块通讯系统,其特征在于,
所述功能模块通过使用预设的客户端接口被定义为所述客户端;
或,所述功能模块通过使用预设的服务端接口被定义为所述服务端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111673259.9A CN114422570B (zh) | 2021-12-31 | 2021-12-31 | 一种跨平台的多模块通讯方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111673259.9A CN114422570B (zh) | 2021-12-31 | 2021-12-31 | 一种跨平台的多模块通讯方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114422570A CN114422570A (zh) | 2022-04-29 |
CN114422570B true CN114422570B (zh) | 2024-05-14 |
Family
ID=81270797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111673259.9A Active CN114422570B (zh) | 2021-12-31 | 2021-12-31 | 一种跨平台的多模块通讯方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114422570B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148405A (en) * | 1997-11-10 | 2000-11-14 | Phone.Com, Inc. | Method and system for secure lightweight transactions in wireless data networks |
US6202089B1 (en) * | 1998-06-30 | 2001-03-13 | Microsoft Corporation | Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process |
US6377691B1 (en) * | 1996-12-09 | 2002-04-23 | Microsoft Corporation | Challenge-response authentication and key exchange for a connectionless security protocol |
CN101515932A (zh) * | 2009-03-23 | 2009-08-26 | 中兴通讯股份有限公司 | 一种安全的Web service访问方法和系统 |
CN101764843A (zh) * | 2009-12-28 | 2010-06-30 | 福建星网锐捷网络有限公司 | 远程过程调用的处理方法、系统及客户端、服务器 |
CN102739720A (zh) * | 2011-04-14 | 2012-10-17 | 中兴通讯股份有限公司 | 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端 |
CN103297429A (zh) * | 2013-05-23 | 2013-09-11 | 北京大学 | 一种嵌入式升级文件传输方法 |
WO2016186851A1 (en) * | 2015-05-19 | 2016-11-24 | Alibaba Group Holding Limited | Wireless mobile payment device |
CN107508847A (zh) * | 2016-06-14 | 2017-12-22 | 阿里巴巴集团控股有限公司 | 一种连接建立方法、装置和设备 |
CN108255727A (zh) * | 2018-01-18 | 2018-07-06 | 网易(杭州)网络有限公司 | 数据接收、发送方法及装置,测试系统,存储介质 |
CN109918869A (zh) * | 2019-02-13 | 2019-06-21 | 北京百分点信息科技有限公司 | 一种基于模板的统一license控制方法 |
CN110611687A (zh) * | 2018-06-15 | 2019-12-24 | 武汉安天信息技术有限责任公司 | 基于Redis的远程过程调用实现方法和相关装置 |
KR20200060193A (ko) * | 2018-11-21 | 2020-05-29 | 고려대학교 산학협력단 | 상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법 |
CN113242272A (zh) * | 2021-03-24 | 2021-08-10 | 中国雄安集团数字城市科技有限公司 | 基于mqtt服务集群的会话处理方法及系统 |
CN113472634A (zh) * | 2021-06-30 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | 即时通讯方法、装置及系统、存储介质、电子装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2312437A1 (en) * | 2009-09-30 | 2011-04-20 | Thomson Licensing | Detecting client software versions |
CN105338126B (zh) * | 2014-07-17 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 远程查询信息的方法及服务器 |
US10476662B2 (en) * | 2017-04-10 | 2019-11-12 | City University Of Hong Kong | Method for operating a distributed key-value store |
KR20210045676A (ko) * | 2019-10-17 | 2021-04-27 | 현대자동차주식회사 | 차량용 통신 시스템 및 그를 위한 보안 통신 방법 |
-
2021
- 2021-12-31 CN CN202111673259.9A patent/CN114422570B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377691B1 (en) * | 1996-12-09 | 2002-04-23 | Microsoft Corporation | Challenge-response authentication and key exchange for a connectionless security protocol |
US6148405A (en) * | 1997-11-10 | 2000-11-14 | Phone.Com, Inc. | Method and system for secure lightweight transactions in wireless data networks |
US6202089B1 (en) * | 1998-06-30 | 2001-03-13 | Microsoft Corporation | Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process |
CN101515932A (zh) * | 2009-03-23 | 2009-08-26 | 中兴通讯股份有限公司 | 一种安全的Web service访问方法和系统 |
CN101764843A (zh) * | 2009-12-28 | 2010-06-30 | 福建星网锐捷网络有限公司 | 远程过程调用的处理方法、系统及客户端、服务器 |
CN102739720A (zh) * | 2011-04-14 | 2012-10-17 | 中兴通讯股份有限公司 | 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端 |
CN103297429A (zh) * | 2013-05-23 | 2013-09-11 | 北京大学 | 一种嵌入式升级文件传输方法 |
WO2016186851A1 (en) * | 2015-05-19 | 2016-11-24 | Alibaba Group Holding Limited | Wireless mobile payment device |
CN107508847A (zh) * | 2016-06-14 | 2017-12-22 | 阿里巴巴集团控股有限公司 | 一种连接建立方法、装置和设备 |
CN108255727A (zh) * | 2018-01-18 | 2018-07-06 | 网易(杭州)网络有限公司 | 数据接收、发送方法及装置,测试系统,存储介质 |
CN110611687A (zh) * | 2018-06-15 | 2019-12-24 | 武汉安天信息技术有限责任公司 | 基于Redis的远程过程调用实现方法和相关装置 |
KR20200060193A (ko) * | 2018-11-21 | 2020-05-29 | 고려대학교 산학협력단 | 상호인증 기반 안전한 패치파일 배포를 위한 통합관리 서버 및 그 동작 방법 |
CN109918869A (zh) * | 2019-02-13 | 2019-06-21 | 北京百分点信息科技有限公司 | 一种基于模板的统一license控制方法 |
CN113242272A (zh) * | 2021-03-24 | 2021-08-10 | 中国雄安集团数字城市科技有限公司 | 基于mqtt服务集群的会话处理方法及系统 |
CN113472634A (zh) * | 2021-06-30 | 2021-10-01 | 完美世界(北京)软件科技发展有限公司 | 即时通讯方法、装置及系统、存储介质、电子装置 |
Non-Patent Citations (2)
Title |
---|
Remote Procedure Calls for Improved Data Locality with the Epiphany Architecture;James A. Ross et al.;Computational Science - ICCS 2018;全文 * |
一种高性能可靠服务器的设计与实现;潘思聪;;桂林航天工业学院学报(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114422570A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568800C (zh) | 用于安全远程访问的系统和方法 | |
US20100058052A1 (en) | Methods, systems and devices for securing supervisory control and data acquisition (scada) communications | |
CN1234662A (zh) | 密码点火处理方法及其装置 | |
CN105337935A (zh) | 一种建立客户端和服务端长连接的方法和装置 | |
CN112468571B (zh) | 内外网数据同步方法、装置、电子设备及存储介质 | |
CN114584306B (zh) | 一种数据处理方法和相关装置 | |
US10419212B2 (en) | Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols | |
CN114390524B (zh) | 一键登录业务的实现方法和装置 | |
US8788825B1 (en) | Method and apparatus for key management for various device-server configurations | |
CN113472792B (zh) | 一种长连接网络通信加密方法及系统 | |
CN113489706B (zh) | 一种数据处理方法、装置、系统、设备及存储介质 | |
CN116830525A (zh) | 数据传输方法、装置、系统、电子设备及可读介质 | |
CN111885091B (zh) | 安全通信方法、装置、设备及存储介质 | |
CN113726895A (zh) | 文件传输方法、装置及网络ktv系统 | |
CN113852681A (zh) | 一种网关认证方法、装置及安全网关设备 | |
CN114422570B (zh) | 一种跨平台的多模块通讯方法及系统 | |
CN116032556B (zh) | 小程序应用的密钥协商方法及装置 | |
CN109787997A (zh) | 基于php的tcp服务方法及服务器 | |
CN114158046B (zh) | 一键登录业务的实现方法和装置 | |
CN106789076B (zh) | 服务器与智能设备的交互方法及装置 | |
CN115001744A (zh) | 一种云平台数据完整性验证方法及系统 | |
CN111404901A (zh) | 信息验证方法及装置 | |
CN111797417A (zh) | 文件的上传方法和装置、存储介质及电子装置 | |
CN117596076B (zh) | 会话数据传输方法、系统、装置、设备和存储介质 | |
CN115514509B (zh) | 信息传输方法、装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |