CN113676540B - 一种连接建立方法及装置 - Google Patents
一种连接建立方法及装置 Download PDFInfo
- Publication number
- CN113676540B CN113676540B CN202110968405.4A CN202110968405A CN113676540B CN 113676540 B CN113676540 B CN 113676540B CN 202110968405 A CN202110968405 A CN 202110968405A CN 113676540 B CN113676540 B CN 113676540B
- Authority
- CN
- China
- Prior art keywords
- client
- address
- public network
- network address
- service server
- 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
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种连接建立方法及装置,应用于客户端,上述所述方法包括:获得所述客户端的第一本机地址,并获得所述客户端连接的网络设备的第一公网地址;在从服务器获得业务服务器的第二本机地址和第二公网地址后,通过所述服务器向所述业务服务器发送所述第一本机地址和第一公网地址,并向所述第二公网地址发送数据包;在接收到所述响应包时,实现与所述业务服务器成功建立连接。应用本发明实施例提供的方案进行连接时,能够提高客户端与业务服务器间建立连接的成功率。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种连接建立方法及装置。
背景技术
用户对客户端与业务服务器间进行通信的延时要求越来越高,期望达到实时通信。为此,客户端与业务服务器之间通常基于穿透行为建立端到端的连接,从而基于所建立的连接实现实时通信。
具体的,当客户端能接收到业务服务器发送的数据包时,表示业务服务器成功穿透客户端连接的网络设备,在这种情况下,表示客户端与业务服务器之间建立了连接。
然而,在客户端连接的网络设备未记录客户端与服务器间的映射关系的情况下,若客户端连接的网络设备接收到业务服务器发送的数据包,客户端连接的网络设备会对服务器进行连接限制,从而使得客户端与服务器之间建立连接的成功率较低。
发明内容
本发明实施例的目的在于提供一种连接建立方法及装置,以提高客户端与服务器之间建立连接的成功率。具体技术方案如下:
第一方面,本发明实施例提供了一种连接建立方法,应用于客户端,所述方法包括:
获得所述客户端的第一本机地址,并获得所述客户端连接的网络设备的第一公网地址,其中,所述第一公网地址与所述网络设备的真实公网地址不同;
在从服务器获得业务服务器的第二本机地址和第二公网地址后,通过所述服务器向所述业务服务器发送所述第一本机地址和第一公网地址,并向所述第二公网地址发送数据包,以使得所述客户端连接的网络设备根据所述数据包中所述客户端的地址与所述业务服务器的地址,记录所述客户端与所述业务服务器间的映射关系,并且在接收到所述业务服务器发送的针对所述数据包的响应包时,根据所述映射关系向所述客户端转发所述响应包;
在接收到所述响应包时,实现与所述业务服务器成功建立连接。
本发明的一个实施例中,上述获得所述客户端连接的网络设备的第一公网地址,包括:
将所述第一本机地址确定为所述客户端连接的网络设备的第一公网地址。本发明的一个实施例中,上述获得所述客户端连接的网络设备的真实公网地址不同的第一公网地址,包括:
向Stun服务器发送地址获得请求,其中,所述地址获得请求用于请求获得所述客户端连接的网络设备的真实公网地址;
接收所述Stun服务器发送的真实公网地址;
根据所述真实公网地址中各个字符,生成与所述真实公网地址不同的地址,作为第一公网地址。
本发明的一个实施例中,上述根据所述真实公网地址中各个字符,生成与所述真实公网地址不同的地址,作为第一公网地址,包括:
确定与所述真实公网地址中各个字符的第一排列顺序不同的第二排列顺序;
按照所述第二排列顺序,对所述真实公网地址中各个字符进行排列,得到排列后的地址,作为第一公网地址。
本发明的一个实施例中,上述根据所述真实公网地址中各个字符,生成与所述真实公网地址不同的地址,作为第一公网地址,包括:
更改所述真实公网地址中预设位置处的字符,将更改后的真实公网地址确定为第一公网地址。
本发明的一个实施例中,上述获得所述客户端的第一本机地址,包括:
读取所述客户端本地存储的所述客户端的本机地址,作为第一本机地址。
本发明的一个实施例中,上述第二本机地址和第二公网地址为:所述业务服务器从本地存储的所述业务服务器的本机地址和公网地址中所读取得到的地址
第二方面,本发明实施例提供了一种连接建立装置,应用于客户端,所述装置包括:
地址获得模块,用于获得所述客户端的第一本机地址,并获得所述客户端连接的网络设备第一公网地址,其中,所述第一公网地址与所述网络设备的真实公网地址不同;
信息发送模块,用于在从服务器获得业务服务器的第二本机地址和第二公网地址后,通过所述服务器向所述业务服务器发送所述第一本机地址和第一公网地址,并向所述第二公网地址发送数据包,以使得所述客户端连接的网络设备根据所述数据包中所述客户端的地址与所述业务服务器的地址,记录所述客户端与所述业务服务器间的映射关系,并且在接收到所述业务服务器发送的针对所述数据包的响应包时,根据所述映射关系向所述客户端转发所述响应包;
连接建立模块,用于在接收到所述响应包的情况下,实现与所述业务服务器成功建立连接。
本发明的一个实施例中,上述所述地址获得模块,具体用于获得所述客户端的第一本机地址,并将所述第一本机地址确定为所述客户端连接的网络设备的第一公网地址。
本发明的一个实施例中,上述地址获得模块,具体用于获得所述客户端的第一本机地址,并通过Stun服务器获得所述客户端的真实公网地址,并生成与所述真实公网地址不同的地址,作为第一公网地址。
本发明的一个实施例中,上述地址获得模块,包括:
请求发送子模块,用于向Stun服务器发送地址获得请求,其中,所述地址获得请求用于请求获得所述客户端连接的网络设备的真实公网地址;
地址接收子模块,用于接收所述Stun服务器发送的真实公网地址;
地址生成子模块,用于根据所述真实公网地址中各个字符,生成与所述真实公网地址不同的地址,作为第一公网地址。
本发明的一个实施例中,上述所述地址生成子模块,具体用于确定与所述真实公网地址中各个字符的第一排列顺序不同的第二排列顺序;按照所述第二排列顺序,对所述真实公网地址中各个字符进行排列,得到排列后的地址,作为第一公网地址。
本发明的一个实施例中,上述地址生成子模块,具体用于更改所述真实公网地址中预设位置处的字符,将更改后的真实公网地址确定为第一公网地址。
本发明的一个实施例中,上述地址获得模块,具体用于读取所述客户端本地存储的所述客户端的本机地址,作为第一本机地址,并获得所述客户端连接的网络设备的第一公网地址。
本发明的一个实施例中,上述第二本机地址和第二公网地址为:所述业务服务器从本地存储的所述业务服务器的本机地址和公网地址中所读取得到的地址。
第三方面,本发明实施例提供了一种终端设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
由以上可见,应用本发明实施例提供的方案建立连接时,一方面,由于客户端是先接收到业务服务器的第二本机地址和第二公网地址,然后通过服务器向业务服务器发送第一本机地址和第一公网地址,使得客户端先接收到业务服务器的第二本机地址和第二公网地址、业务服务器后接收到客户端的第一本机地址和第一公网地址,客户端向第二公网地址发送数据包的时间早于业务服务器向第一公网地址发送数据包的时间的可能性较大。又由于业务服务器自身不会对客户端进行连接限制,所以当客户端向业务服务器的第二公网地址发送数据包时,业务服务器能够成功接收到客户端发送的数据包。并且当客户端向第二公网地址发送数据包时,客户端连接的网络设备能够记录客户端与业务服务器间的映射关系。因此,当业务服务器向客户端发送数据包时,客户端连接的网络设备已记录了上述映射关系,这样,当业务服务器向客户端发送数据包时,客户端连接的网络设备不会对业务服务器进行连接限制,从而使得客户端能够接收到上述数据包。因此,实现了客户端与业务服务器之间成功建立连接。
另一方面,即使在业务服务器向第一公网地址发送数据包的时间早于客户端向第二公网地址发送数据包的时间的情况,也就是当客户端连接的网络设备未记录客户端与业务服务器间的映射关系时,若业务服务器向第一公网地址发送数据包,由于客户端的第一公网地址是与客户端的真实公网地址不同的地址。因此,在上述情况下,业务服务器向第一公网地址发送的数据包是难以到达客户端的真实公网地址的,从而避免了业务服务器被客户端连接的网络设备进行连接限制。又由于当业务服务器接收到客户端所发送的数据包后,可以获得上述数据包携带的客户端的真实公网地址,且当业务服务器接收到客户端所发送的数据包时,表示客户端连接的网络设备已记录了客户端与业务服务器间的映射关系,从而能够使得在客户端向业务服务器发送数据包后,客户端可以接收到业务服务器发送的针对上述数据包的响应包。因此,基于上述两个方面的分析,相较于现有技术,应用本发明实施例提供的方案建立连接时,提高了服务器与客户端之间连接建立连接的成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种连接建立方法的流程示意图;
图2为本发明实施例提供的一种连接建立场景中设备的连接关系示意图;
图3为本发明实施例提供的另一种连接建立方法的流程示意图;
图4a为本发明实施例提供的一种连接建立系统的结构示意图;
图4b为本发明实施例提供的一种连接建立方法的信令图;
图5为本发明实施例提供的一种连接建立装置的结构示意图;
图6为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中存在客户端与服务器之间建立连接的成功率较低的问题,为解决这一技术问题,本发明实施例提供了一种连接建立方法与装置。
参见图1,图1为本发明实施例提供的一种连接建立方法的流程示意图,应用于客户端,上述方法包括以下步骤S101-S103。
S101:获得客户端的第一本机地址,并获得客户端连接的网络设备的第一公网地址,其中,第一公网地址与网络设备的真实公网地址不同;
S102:在从服务器获得业务服务器的第二本机地址和第二公网地址后,通过服务器向业务服务器发送第一本机地址和第一公网地址,并向第二公网地址发送数据包,以使得客户端连接的网络设备根据数据包中客户端的地址与业务服务器的地址,记录客户端与业务服务器间的映射关系,并且在接收到业务服务器发送的针对数据包的响应包时,根据映射关系向客户端转发响应包;
S103:在接收到响应包时,实现与业务服务器成功建立连接。
由以上可见,应用本实施例提供的方案建立连接时,一方面,由于客户端是先接收到业务服务器的第二本机地址和第二公网地址,然后通过服务器向业务服务器发送第一本机地址和第一公网地址,使得客户端先接收到业务服务器的第二本机地址和第二公网地址、业务服务器后接收到客户端的第一本机地址和第一公网地址,客户端向第二公网地址发送数据包的时间早于业务服务器向第一公网地址发送数据包的时间的可能性较大。又由于业务服务器在接收客户端发送的数据包时,不会对客户端进行连接限制,这样,服务器能够成功接收到客户端发送的数据包。并且当客户端向第二公网地址发送数据包时,客户端连接的网络设备能够记录客户端与业务服务器间的映射关系。因此,当业务服务器向客户端发送数据包时,客户端连接的网络设备已记录了上述映射关系,这样,当业务服务器向客户端发送数据包时,客户端连接的网络设备不会对业务服务器进行连接限制,从而使得客户端能够接收到上述数据包。因此,实现了客户端与业务服务器之间成功建立连接。
另一方面,即使在业务服务器向第一公网地址发送数据包的时间早于客户端向第二公网地址发送数据包的时间的情况,也就是当客户端连接的网络设备未记录客户端与业务服务器间的映射关系时,若业务服务器向第一公网地址发送数据包,由于客户端的第一公网地址是与客户端的真实公网地址不同的地址。因此,在上述情况下,业务服务器向第一公网地址发送的数据包是难以到达客户端的真实公网地址的,从而避免了业务服务器被客户端连接的网络设备进行连接限制。又由于当业务服务器接收到客户端所发送的数据包后,可以获得上述数据包携带的客户端的真实公网地址,且当业务服务器接收到客户端所发送的数据包时,表示客户端连接的网络设备已记录了客户端与业务服务器间的映射关系,从而能够使得在客户端向业务服务器发送数据包后,客户端可以接收到业务服务器发送的针对上述数据包的响应包。因此,基于上述两个方面的分析,相较于现有技术,应用本实施例提供的方案建立连接时,提高了服务器与客户端之间连接建立连接的成功率。
在对上述各步骤进行具体说明之前,先结合图2对本发明实施例的应用场景进行具体说明。
参见图2,图2为本发明实施例提供的一种连接建立场景中设备的连接关系示意图。
图2中包括业务服务器、服务器、客户端连接的网络设备、客户端C1、客户端C2。
具体的,上述服务器可以是信令服务器,信令服务器又称Signal Server。上述服务器用于与客户端C1、客户端C2、业务服务器建立连接,基于所建立的连接,服务器能够与客户端C1、客户端C2、业务服务器进行数据交互。
上述网络设备为与客户端C1、客户端C2连接的网络设备。具体的,上述网络设备可以为NAT(Network Address Translator,网络地址转换)设备、路由器等。
由于上述客户端C1、客户端C2均连接同一网络设备,表示上述客户端C1、客户端C2位于同一局域网中。
上述客户端C1、客户端C2的本机地址为内网地址。上述网络设备的地址为公网地址。
以下对上述步骤S101-S103进行具体说明。
S101:获得客户端的第一本机地址,并获得客户端连接的网络设备的第一公网地址。
上述第一本机地址与客户端的真实地址相同。上述客户端的第一本机地址可以包括客户端的IP地址、端口号等。
本发明的一个实施例中,客户端在获得第一本机地址时,可以读取客户端本地存储的客户端的本机地址,作为第一本机地址。
具体的,上述本机地址可以存储在客户端的预设存储路径下,客户端可以从上述预设存储路径下查找客户端的本机地址,将查找到的本机地址作为第一本机地址。这样,由于是直接读取客户端本地存储的客户端的本机地址,提高了第一本机地址的获得效率。
上述第一公网地址与上述网络设备的真实公网地址不同。由于上述第一公网地址与真实公网地址不同,又可以将上述第一公网地址称为虚假公网地址。
上述网络设备的真实公网地址可以包括:上述网络设备的IP地址、端口号等。
由于客户端的第一公网地址是与客户端的真实公网地址不同的地址,又由于上述第一本机地址也是与客户端的真实公网地址不同的地址,因此,本发明的一个实施例中,客户端可以将第一本机地址确定为客户端连接的网络设备的第一公网地址。
具体的,可以将上述第一本机地址的取值确定为第一公网地址的取值,得到第一公网地址。例如:客户端的第一本机地址的取值为:100.00.00.00:10,将上述第一本机地址的取值确定为客户端的第一公网地址的取值,得到客户端的第一公网地址为:100.00.00.00:10。
这样,由于是直接将第一本机地址确定为第一公网地址,提高了第一公网地址获得的效率。
S102:在从服务器获得业务服务器的第二本机地址和第二公网地址后,通过服务器向业务服务器发送第一本机地址和第一公网地址,并向第二公网地址发送数据包,以使得客户端连接的网络设备根据数据包中客户端的地址与业务服务器的地址,记录客户端与业务服务器间的映射关系,并且在接收到到业务服务器发送的针对数据包的响应包时,根据映射关系向客户端转发响应包。
上述业务服务器用于向用户提供业务,例如:当业务服务器为云游戏服务器时,上述业务服务器能够向用户提供云游戏业务,当业务服务器为音视频服务器时,上述业务服务器能够向用户提供音视频业务。
上述业务服务器的第二本机地址是指业务服务器的真实本机地址,上述第二本机地址可以包括:业务服务器的本机IP地址和端口号;上述业务服务器的第二公网地址是指业务服务器的真实公网地址,上述第二公网地址可以包括:业务服务器的公网IP地址和端口号。
由于业务服务器处于公网中,因此上述业务服务器的本机地址为公网地址,也就是上述业务服务器的第二本机地址和第二公网地址的取值是相同的。
本发明的一个实施例中,客户端可以生成包含上述第一本机地址以及第一公网地址的信息,作为客户端的Candidate,通过服务器将上述Candidate向业务服务器发送;同样的,客户端也可以通过上述服务器获得业务服务器的Candidate。其中,上述业务服务器的Candidate包括业务服务器的第二公网地址和第二本机地址。
上述客户端的Candidate是用于描述用于和该客户端进行通信的地址相关的信息,上述客户端的Candidate可以包括客户端连接的网络设备的IP地址、客户端的IP地址、客户端的端口号、网络设备的类型等,上述业务服务器的Candidate可以包括业务服务器的IP地址、端口号、设备类型等。
由于客户端与业务服务器在通过服务器交换地址时,服务器需要客户端、业务服务器的本机地址项的地址信息、公网地址项的地址信息。因此,客户端需要通过服务器向业务服务器发送客户端的第一本机地址和第一公网地址,业务服务器也需要通过服务器向客户端发送业务服务器的第二本机地址和第二公网地址。
上述数据包中携带的源地址为客户端的地址,目的地址为业务服务器的地址。上述客户端的地址可以为客户端的本机IP地址、本机端口号等信息,业务服务器的地址可以为业务服务器的本机IP地址、公网IP地址、本机端口号等信息。
上述客户端与业务服务器间的映射关系可以包括:客户端的本机IP地址与业务服务器的本机IP地址间的映射关系、客户端的本机端口号与业务服务器的本机端口号间的映射关系等,并不做具体限制。
由于数据包中目的地址是业务服务器的地址,客户端向第二公网地址发送数据包时,是需要通过客户端连接的网络设备进行转发,上述网络设备在接收到数据包后,对数据包进行解析,获得源地址参数项的取值和目的地址参数项的取值,记录源地址参数项的取值与目的地址参数项的取值之间的映射关系,并向第二公网地址转发数据包。由于数据包中源地址参数项的取值为客户端的地址,目的地址参数项的取值为业务服务器的地址,所以,客户端连接的网络设备可以根据上述数据包中客户端的地址和业务服务器的地址,记录客户端与业务服务器间的映射关系。
当客户端在从服务器获得业务服务器的第二本机地址和第二公网地址之后,然后通过服务器向业务服务器发送第一本机地址和第一公网地址,这样,能够使得客户端先接收到业务服务器的第二本机地址和第二公网地址、业务服务器后接收到客户端的第一本机地址和第一公网地址。又由于当一端设备早于另一端设备先接收到对端设备的本机地址、公网地址后,能够使得一端设备向另一端设备的公网地址发送数据包的时间早于另一端设备向一端设备的公网地址发送数据包的时间的可能性较大。因此,客户端向第二公网地址发送数据包的时间早于业务服务器向第一公网地址发送数据包的时间的可能性较大。
在业务服务器接收到客户端发送的数据包后,会生成针对上述数据包的响应包,并向客户端发送上述响应包,响应包首先会到达客户端连接的网络设备,由于网络设备已记录了客户端与业务服务器之间的映射关系,网络设备向客户端转发响应包。
一方面,由于客户端向第二公网地址发送数据包的时间早于业务服务器向第一公网地址发送数据包的时间的可能性较大。又由于业务服务器在接收客户端发送的数据包时,不会对客户端进行连接限制,这样,服务器能够成功接收到客户端发送的数据包。并且当客户端向第二公网地址发送数据包时,客户端连接的网络设备能够记录客户端与业务服务器间的映射关系。因此,当业务服务器向客户端发送数据包时,客户端连接的网络设备已记录了上述映射关系,这样,当业务服务器向客户端发送数据包时,数据包在到达客户端连接的网络设备后,上述网络设备查找到存储了客户端与业务服务器间的映射关系后,上述网络设备不会对业务服务器进行连接限制,从而使得客户端能够接收到上述数据包。因此,实现了客户端与业务服务器之间成功建立连接。
另一方面,即使在业务服务器向第一公网地址发送数据包的时间早于客户端向第二公网地址发送数据包的时间的情况,也就是当客户端连接的网络设备未记录客户端与业务服务器间的映射关系时,若业务服务器向第一公网地址发送数据包,由于客户端的第一公网地址是与客户端的真实公网地址不同的地址。因此,在上述情况下,业务服务器向第一公网地址发送的数据包是难以到达客户端的真实公网地址的,从而避免了业务服务器被客户端连接的网络设备进行连接限制。又由于当业务服务器接收到客户端所发送的数据包后,可以获得上述数据包携带的客户端的真实公网地址,且当业务服务器接收到客户端所发送的数据包时,表示客户端连接的网络设备已记录了客户端与业务服务器间的映射关系,从而能够使得在客户端向业务服务器发送数据包后,客户端可以接收到业务服务器发送的针对上述数据包的响应包。因此,基于上述两个方面的分析,相较于现有技术,应用本实施例提供的方案建立连接时,提高了服务器与客户端之间连接建立连接的成功率。
客户端在通过服务器向业务服务器发送第一本机地址和第一公网地址时,客户端可以先向服务器发送上述第一本机地址和第一公网地址,服务器在接收到客户端发送的第一本机地址和第一公网地址后,向业务服务器转发上述第一本机地址和第一公网地址。
本发明的一个实施例中,客户端在向第二公网地址发送数据包时,可以是基于UDP(User Datagram Protocol,用户数据报协议)向第二公网地址发送数据包。
S103:在接收到响应包时,实现与业务服务器成功建立连接。
业务服务器在接收到客户端发送的数据包后,可以生成针对上述数据包的响应包。并且,由于上述数据包携带着客户端的真实公网地址,因此,业务服务器能够向客户端的真实公网地址发送响应包,也就是能够向客户端连接的网络设备发送响应包。
由于客户端连接的网络设备记录了客户端与业务服务器间的映射关系,因此,客户端连接的网络设备在接收到业务服务器发送的响应包后,基于上述映射关系,可以将上述响应包向客户端发送,从而客户端能够接收到业务服务器发送的针对数据包的响应包。当客户端能够成功接收到业务服务器发送的上述响应包时,表示客户端与业务服务器之间成功建立了连接。上述穿透方式又称为ICE穿透,由于上述连接建立过程是基于ICE穿透建立的,可以将上述连接建立的方式为ICE穿透连接方法。
由以上可见,应用本实施例提供的方案建立连接时,一方面,由于客户端是先接收到业务服务器的第二本机地址和第二公网地址,然后通过服务器向业务服务器发送第一本机地址和第一公网地址,使得客户端先接收到业务服务器的第二本机地址和第二公网地址、业务服务器后接收到客户端的第一本机地址和第一公网地址,客户端向第二公网地址发送数据包的时间早于业务服务器向第一公网地址发送数据包的时间的可能性较大。又由于业务服务器在接收客户端发送的数据包时,不会对客户端进行连接限制,这样,服务器能够成功接收到客户端发送的数据包。并且当客户端向第二公网地址发送数据包时,客户端连接的网络设备能够记录客户端与业务服务器间的映射关系。因此,当业务服务器向客户端发送数据包时,客户端连接的网络设备已记录了上述映射关系,这样,当业务服务器向客户端发送数据包时,客户端连接的网络设备不会对业务服务器进行连接限制,从而使得客户端能够接收到上述数据包。因此,实现了客户端与业务服务器之间成功建立连接。
另一方面,即使在业务服务器向第一公网地址发送数据包的时间早于客户端向第二公网地址发送数据包的时间的情况,也就是当客户端连接的网络设备未记录客户端与业务服务器间的映射关系时,若业务服务器向第一公网地址发送数据包,由于客户端的第一公网地址是与客户端的真实公网地址不同的地址。因此,在上述情况下,业务服务器向第一公网地址发送的数据包是难以到达客户端的真实公网地址的,从而避免了业务服务器被客户端连接的网络设备进行连接限制。又由于当业务服务器接收到客户端所发送的数据包后,可以获得上述数据包携带的客户端的真实公网地址,且当业务服务器接收到客户端所发送的数据包时,表示客户端连接的网络设备已记录了客户端与业务服务器间的映射关系,从而能够使得在客户端向业务服务器发送数据包后,客户端可以接收到业务服务器发送的针对上述数据包的响应包。因此,基于上述两个方面的分析,相较于现有技术,应用本实施例提供的方案建立连接时,提高了服务器与客户端之间连接建立连接的成功率。
在上述步骤S101中获得第一公网地址时,除了将第一本机地址确定为第一公网地址之外,本发明的一个实施例中,客户端还可以向Stun服务器发送地址获得请求,接收Stun服务器发送的真实公网地址,根据真实公网地址中各个字符,生成与真实公网地址不同的地址,作为第一公网地址。
上述地址获得请求用于请求获得客户端连接的网络设备的真实公网地址。
上述Stun服务器存储了各个客户端连接的网络设备的真实公网地址,Stun服务器在接收到上述地址获得请求后,可以从本地存储的各客户端的真实公网地址中,确定上述客户端连接的网络设备的真实公网地址,并向客户端发送上述真实公网地址。
由于真实公网地址是通过Stun服务器获得的,又由于Stun服务器中存储的是各客户端连接的网络设备的真实公网地址,所以所获得的上述地址是客户端连接的网络设备的真实公网地址,通过真实公网地址中各个字符,能够较为准确地确定与真实公网地址不同的第一公网地址。
客户端在获得真实公网地址后,本发明的一个实施例中,可以确定与真实公网地址中各个字符的第一排列顺序不同的第二排列顺序;按照第二排列顺序,对真实公网地址中各个字符进行排列,得到排列后的地址,作为第一公网地址。
具体的,可以调换相邻两个字符的第一排列顺序,得到第二排列顺序。
例如:真实公网地址为:192.00.00.00,各个字符的第一排列顺序为:1、9、2、0、0、0、0、0、0,调换相邻两个字符的第一排列顺序,得到第二排列顺序为:9、1、0、2、0、0、0、0、0。
由于第二排列顺序是与第一排列顺序不同的顺序,按照上述顺序得到的地址与真实公网地址不同,所以上述第一公网地址与真实公司地址不同。例如:沿用上述例子,按照第二排列顺序对各个字符进行排列,得到910.20.00.00,第一公网地址为910.20.00.00,与真实公网地址192.00.00.00不同。
由于是按照第二排列顺序对真实公网地址中各个字符进行排列,且第二排列顺序与真实公网地中各个字符的排列顺序不同,所以重新排列后的地址与真实公网地址不同,也就是第一公网地址是与真实公网地址不同。
本发明的另一个实施例中,还可以更改真实公网地址中预设位置处的字符,将更改后的真实公网地址确定为第一公网地址。
上述预设位置可以由工作人员根据经验设定预先确定的位置。上述预设位置的数量可以为1个、也可以为多个。
在更改真实公网地址中预设位置处的字符时,将预设位置处的原字符更改为与原字符不同的字符。具体的,可以计算预设位置处的原字符与预设字符之和,作为更改后的字符,还可以计算预设位置处的原字符与预设字符之差,作为更改后的字符。
例如:预设位置为真实公网地址中第一位、第二位和第三位,真实公网地址为192.00.00.00,第一位处的原字符为“1”、第二位处的原字符为“9”、第三位处的原字符为“2”,预设字符为1,计算各原字符与预设字符之和,得到更高后的字符分别为“2”、“0”、“3”,从而更改后的真实公网地址为203.00.00.00,也就是第一公网地址为203.00.00.00。
由于更改了真实公网地址中预设位置处的字符,使得更改后的真实公网地址与原真实公网地址不同,也就是第一公网地址与真实公网地址不同。
本发明的一个实施例中,在上述步骤S102中,可以是成功从服务器获得第二地址信息后,通过服务器向业务服务器发送第一本机地址和第一公网地址,并向第二公网地址发送数据包。
其中,上述第二地址信息包括上述业务服务器的第二本机地址和第二公网地址。
具体的,上述第二地址信息可以是Candidate。服务器可以将上述第二本机地址、第二公网地址形成Candidate,通过服务器向客户端发送。
由于上述第二本机地址与第二公网地址为相同的地址,且上述第二本机地址包括业务服务器的IP地址和端口号。因此,上述第二地址信息可以包括:业务服务器的IP地址和端口号。
本发明的一个实施例中,上述第二本机地址和第二公网地址可以为:业务服务器从本地存储的业务服务器的本机地址和公网地址中所读取得到的地址。
具体的,业务服务器可以将本机地址和公网地址作为配置文件,存储在业务服务器的预设路径下或者预设存储位置。这样,业务服务器可以从上述预设路径下或者预设存储位置中读取上述配置文件,从而获得第二本机地址和第二公网地址。
这样,由于业务服务器从本地存储的业务服务器的本机地址和公网地址中所读取得到的地址,提高了获得第二本机地址和第二公网地址的效率。
本发明的一个实施例中,在上述S101之前,客户端还可以通过服务器进行登录验证,验证完成之后,开始执行S101。
具体的,上述服务器能够对用户身份的有效性、合法性等进行验证,当验证通过后,用户登录成功。
具体登录验证方式可以参加现有技术中任意一种验证方式,在此暂不赘述。
以下结合图3,以上述业务服务器为云游戏服务器为例,对本发明实施例提供的连接建立方法进行具体说明。图3为本发明实施例提供的另一种连接建立方法的流程示意图。上述方法包括以下步骤S301-S30。
步骤S301:客户端通过信令服务器进行登录验证。
步骤S302:客户端获得自身的本机地址,并且获得与客户端连接的网络设备的真实公网地址不同的公网地址。
具体的,客户端可以将本机地址项的取值确定为公网地址项的取值。
步骤S303:云游戏服务器确定自身的公网地址和本机地址。
云游戏服务器从本地存储的配置文件中服务云游戏服务器的公网地址和本机地址。
步骤S304:客户端生成包含本机地址、公网地址、端口号等信息的Candidate,在获得云游戏服务器发送的云游戏服务器的Candidate后,通过服务器向云游戏服务器发送客户端的Candidate,并向云游戏服务器发送数据包。
步骤S305:在接收到云游戏服务器发送的针对上述数据包生成的响应包时,实现与云游戏服务器成功建立连接。
由以上可见,一方面。由于客户端在接收到云游戏服务器的Candidate后向云游戏服务器发送客户端的Candidate,使得云游戏服务器接收客户端的Candidate的时间晚于客户端接收服务器的Candidate的时间,使得云游戏服务器发送数据包的时间晚于客户端发送数据包的时间,当客户端向云游戏服务器发送数据包时,使得客户端连接的网络设备基于上述数据包记录客户端与云游戏服务器之间的映射关系,当上述网络设备接受到云游戏服务器发送的数据包时,可以基于映射关系向客户端转发数据包,从而成功建立连接。
另一方面,由于云游戏服务器接收到客户端的Candidate中客户端的公网地址是与真实公网地址不同,又由于云游戏服务器所发送的数据包中包含客户端的Candidate中记录的公网地址,所以,即使云游戏服务器发送数据包的时间早于客户端发送数据包的时间,上述数据包并不能到达客户端连接的网络设备,客户端连接的网络设备不会对云游戏服务器进行限制。综合上述两方面可知,本实施例可以应用在云游戏场景下,提高客户端与云游戏服务器之间建立连接的成功率。
参见图4a、图4b,图4a为本发明实施例提供的一种连接建立系统的结构示意图,图4b为本发明实施例提供的一种连接建立方法的信令图。
在图4a中,包括客户端401、客户端连接的网络设备4011、业务服务器402、服务器403。
在图4b中,S401:客户端401与服务器403交互完成登录验证。
S402:客户端401获得第一本机地址、并将第一本机地址作为第一公网地址,业务服务器402获得第二本机地址、第二公网地址。
S403:客户端401将第一本机地址、第一公网地址形成客户端candidate,业务服务器402将第二本机地址、第二公网地址形成业务服务器candidate。
S404:业务服务器402通过服务器403向客户端401发送业务服务器的Candidate。
S405:客户端401在接收到业务服务器402的Candidate之后,通过服务器403向业务服务器402发送客户端的candidate,并向业务服务器402发送数据包,以使得客户端401连接的网络设备记录客户端401与业务服务器402之间的映射关系。
S406:业务服务器402接收客户端401发送的数据包,并生成针对上述数据包的响应包。
S407:业务服务器402向客户端401发送响应包。
当客户端401成功接收到业务服务器发送的响应包时,表示客户端401与业务服务器402之间成功建立连接。
由以上可见,应用本实施例提供的方案建立连接时,一方面,由于客户端是先接收到业务服务器的Candidate后,然后通过服务器向业务服务器发送客户端的Candidate,使得客户端先接收到业务服务器的第二本机地址和第二公网地址、业务服务器后接收到客户端的第一本机地址和第一公网地址,客户端向第二公网地址发送数据包的时间早于业务服务器向第一公网地址发送数据包的时间的可能性较大。又由于业务服务器在接收客户端发送的数据包时,不会对客户端进行连接限制,这样,服务器能够成功接收到客户端发送的数据包。并且当客户端向第二公网地址发送数据包时,客户端连接的网络设备能够记录客户端与业务服务器间的映射关系。因此,当业务服务器向客户端发送数据包时,客户端连接的网络设备已记录了上述映射关系,这样,当业务服务器向客户端发送数据包时,客户端连接的网络设备不会对业务服务器进行连接限制,从而使得客户端能够接收到上述数据包。因此,实现了客户端与业务服务器之间成功建立连接。
另一方面,即使在业务服务器向第一公网地址发送数据包的时间早于客户端向第二公网地址发送数据包的时间的情况,也就是当客户端连接的网络设备未记录客户端与业务服务器间的映射关系时,若业务服务器向第一公网地址发送数据包,由于客户端的第一公网地址是与客户端的真实公网地址不同的地址。在上述情况下,业务服务器向第一公网地址发送的数据包是难以到达客户端的真实公网地址的,从而避免了业务服务器被客户端连接的网络设备进行连接限制。又由于当业务服务器接收到客户端所发送的数据包后,可以获得上述数据包携带的客户端的真实公网地址,且当业务服务器接收到客户端所发送的数据包时,表示客户端连接的网络设备已记录了客户端与业务服务器间的映射关系,从而能够使得在客户端向业务服务器发送数据包后,客户端可以接收到业务服务器发送的针对上述数据包的响应包。因此,基于上述两个方面的分析,提高了业务服务器与客户端之间连接建立连接的成功率。
与上述连接建立方法相对应,本发明实施例还提供了一种连接建立装置。
参见图5,图5为本发明实施例提供的一种连接建立装置的结构示意图,应用于客户端,上述装置包括501-503。
地址获得模块501,用于获得所述客户端的第一本机地址,并获得所述客户端连接的网络设备第一公网地址,其中,所述第一公网地址与所述网络设备的真实公网地址不同;
信息发送模块502,用于在从服务器获得业务服务器的第二本机地址和第二公网地址后,通过所述服务器向所述业务服务器发送所述第一本机地址和第一公网地址,并向所述第二公网地址发送数据包,以使得所述客户端连接的网络设备根据所述数据包中所述客户端的地址与所述业务服务器的地址,记录所述客户端与所述业务服务器间的映射关系,并且在接收到所述业务服务器发送的针对所述数据包的响应包时,根据所述映射关系向所述客户端转发所述响应包;
连接建立模块503,用于在接收到所述响应包的情况下,实现与所述业务服务器成功建立连接。
由以上可见,应用本实施例提供的方案建立连接时,一方面,由于客户端是先接收到业务服务器的第二本机地址和第二公网地址,然后通过服务器向业务服务器发送第一本机地址和第一公网地址,使得客户端先接收到业务服务器的第二本机地址和第二公网地址、业务服务器后接收到客户端的第一本机地址和第一公网地址,客户端向第二公网地址发送数据包的时间早于业务服务器向第一公网地址发送数据包的时间的可能性较大。又由于业务服务器在接收客户端发送的数据包时,不会对客户端进行连接限制,这样,服务器能够成功接收到客户端发送的数据包。并且当客户端向第二公网地址发送数据包时,客户端连接的网络设备能够记录客户端与业务服务器间的映射关系。因此,当业务服务器向客户端发送数据包时,客户端连接的网络设备已记录了上述映射关系,这样,当业务服务器向客户端发送数据包时,客户端连接的网络设备不会对业务服务器进行连接限制,从而使得客户端能够接收到上述数据包。因此,实现了客户端与业务服务器之间成功建立连接。
另一方面,即使在业务服务器向第一公网地址发送数据包的时间早于客户端向第二公网地址发送数据包的时间的情况,也就是当客户端连接的网络设备未记录客户端与业务服务器间的映射关系时,若业务服务器向第一公网地址发送数据包,由于客户端的第一公网地址是与客户端的真实公网地址不同的地址。因此,在上述情况下,业务服务器向第一公网地址发送的数据包是难以到达客户端的真实公网地址的,从而避免了业务服务器被客户端连接的网络设备进行连接限制。又由于当业务服务器接收到客户端所发送的数据包后,可以获得上述数据包携带的客户端的真实公网地址,且当业务服务器接收到客户端所发送的数据包时,表示客户端连接的网络设备已记录了客户端与业务服务器间的映射关系,从而能够使得在客户端向业务服务器发送数据包后,客户端可以接收到业务服务器发送的针对上述数据包的响应包。因此,基于上述两个方面的分析,相较于现有技术,应用本实施例提供的方案建立连接时,提高了服务器与客户端之间连接建立连接的成功率。
本发明的一个实施例中,上述地址获得模块501,具体用于获得所述客户端的第一本机地址,并将所述第一本机地址确定为所述客户端连接的网络设备的第一公网地址。
这样,由于是直接将第一本机地址确定为第一公网地址,提高了第一公网地址获得的效率。
本发明的一个实施例中,上述地址获得模块501,包括:
请求发送子模块,用于向Stun服务器发送地址获得请求,其中,所述地址获得请求用于请求获得所述客户端连接的网络设备的真实公网地址;
地址接收子模块,用于接收所述Stun服务器发送的真实公网地址;
地址生成子模块,用于根据所述真实公网地址中各个字符,生成与所述真实公网地址不同的地址,作为第一公网地址。
本发明的一个实施例中,上述地址生成子模块,具体用于更改所述真实公网地址中预设位置处的字符,将更改后的真实公网地址确定为第一公网地址。
本发明的一个实施例中,上述地址获得模块501,具体用于读取所述客户端本地存储的所述客户端的本机地址,作为第一本机地址,并获得所述客户端连接的网络设备的第一公网地址。
这样,由于第一本机地址为客户端从本地存储的客户端的本机地址中读取得到的地址,提高了获得第一本机地址的效率。
本发明的一个实施例中,上述第二本机地址和第二公网地址为:所述业务服务器从本地存储的所述业务服务器的本机地址和公网地址中所读取得到的地址。
这样,由于业务服务器从本地存储的业务服务器的本机地址和公网地址中所读取得到的地址,提高了获得第二本机地址和第二公网地址的效率。
与上述连接建立方法相对应,本发明实施例还提供了一种终端设备。
本发明实施例还提供了一种终端设备,如图6所示,图6为本发明实施例提供的一种终端设备的结构示意图,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现本发明实施例提供的连接建立方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的连接建立方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行时实现本发明实施例提供的连接建立方法。
由以上可见,应用本实施例提供的方案建立连接时,一方面,由于客户端是先接收到业务服务器的第二本机地址和第二公网地址,然后通过服务器向业务服务器发送第一本机地址和第一公网地址,使得客户端先接收到业务服务器的第二本机地址和第二公网地址、业务服务器后接收到客户端的第一本机地址和第一公网地址,客户端向第二公网地址发送数据包的时间早于业务服务器向第一公网地址发送数据包的时间的可能性较大。又由于业务服务器在接收客户端发送的数据包时,不会对客户端进行连接限制,这样,服务器能够成功接收到客户端发送的数据包。并且当客户端向第二公网地址发送数据包时,客户端连接的网络设备能够记录客户端与业务服务器间的映射关系。因此,当业务服务器向客户端发送数据包时,客户端连接的网络设备已记录了上述映射关系,这样,当业务服务器向客户端发送数据包时,客户端连接的网络设备不会对业务服务器进行连接限制,从而使得客户端能够接收到上述数据包。因此,实现了客户端与业务服务器之间成功建立连接。
另一方面,即使在业务服务器向第一公网地址发送数据包的时间早于客户端向第二公网地址发送数据包的时间的情况,也就是当客户端连接的网络设备未记录客户端与业务服务器间的映射关系时,若业务服务器向第一公网地址发送数据包,由于客户端的第一公网地址是与客户端的真实公网地址不同的地址。因此,在上述情况下,业务服务器向第一公网地址发送的数据包是难以到达客户端的真实公网地址的,从而避免了业务服务器被客户端连接的网络设备进行连接限制。又由于当业务服务器接收到客户端所发送的数据包后,可以获得上述数据包携带的客户端的真实公网地址,且当业务服务器接收到客户端所发送的数据包时,表示客户端连接的网络设备已记录了客户端与业务服务器间的映射关系,从而能够使得在客户端向业务服务器发送数据包后,客户端可以接收到业务服务器发送的针对上述数据包的响应包。因此,基于上述两个方面的分析,相较于现有技术,应用本实施例提供的方案建立连接时,提高了服务器与客户端之间连接建立连接的成功率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、终端设备、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种连接建立方法,其特征在于,应用于客户端,所述方法包括:
获得所述客户端的第一本机地址,并获得所述客户端连接的网络设备的第一公网地址,其中,所述第一公网地址与所述网络设备的真实公网地址不同;
在从服务器获得业务服务器的第二本机地址和第二公网地址后,通过所述服务器向所述业务服务器发送所述第一本机地址和第一公网地址,并向所述第二公网地址发送数据包,以使得所述客户端连接的网络设备根据所述数据包中所述客户端的地址与所述业务服务器的地址,记录所述客户端与所述业务服务器间的映射关系,并且在接收到所述业务服务器发送的针对所述数据包的响应包时,根据所述映射关系向所述客户端转发所述响应包;
在接收到所述响应包时,实现与所述业务服务器成功建立连接;
所述第一公网地址为:基于所述网络设备的真实公网地址中各个字符生成的;或者,所述获得所述客户端连接的网络设备的第一公网地址,包括:
将所述第一本机地址确定为所述客户端连接的网络设备的第一公网地址。
2.根据权利要求1所述的方法,其特征在于,所述获得所述客户端连接的网络设备的真实公网地址不同的第一公网地址,包括:
向Stun服务器发送地址获得请求,其中,所述地址获得请求用于请求获得所述客户端连接的网络设备的真实公网地址;
接收所述Stun服务器发送的真实公网地址;
根据所述真实公网地址中各个字符,生成与所述真实公网地址不同的地址,作为第一公网地址。
3.根据权利要求2所述的方法,其特征在于,所述根据所述真实公网地址中各个字符,生成与所述真实公网地址不同的地址,作为第一公网地址,包括:
确定与所述真实公网地址中各个字符的第一排列顺序不同的第二排列顺序;
按照所述第二排列顺序,对所述真实公网地址中各个字符进行排列,得到排列后的地址,作为第一公网地址。
4.根据权利要求2所述的方法,其特征在于,所述根据所述真实公网地址中各个字符,生成与所述真实公网地址不同的地址,作为第一公网地址,包括:
更改所述真实公网地址中预设位置处的字符,将更改后的真实公网地址确定为第一公网地址。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获得所述客户端的第一本机地址,包括:
读取所述客户端本地存储的所述客户端的本机地址,作为第一本机地址。
6.根据权利要求1-4中任一项所述的方法,其特征在于,
所述第二本机地址和第二公网地址为:所述业务服务器从本地存储的所述业务服务器的本机地址和公网地址中所读取得到的地址。
7.一种连接建立装置,其特征在于,应用于客户端,所述装置包括:
地址获得模块,用于获得所述客户端的第一本机地址,并获得所述客户端连接的网络设备第一公网地址,其中,所述第一公网地址与所述网络设备的真实公网地址不同;
信息发送模块,用于在从服务器获得业务服务器的第二本机地址和第二公网地址后,通过所述服务器向所述业务服务器发送所述第一本机地址和第一公网地址,并向所述第二公网地址发送数据包,以使得所述客户端连接的网络设备根据所述数据包中所述客户端的地址与所述业务服务器的地址,记录所述客户端与所述业务服务器间的映射关系,并且在接收到所述业务服务器发送的针对所述数据包的响应包时,根据所述映射关系向所述客户端转发所述响应包;
连接建立模块,用于在接收到所述响应包的情况下,实现与所述业务服务器成功建立连接;
所述第一公网地址为:基于所述网络设备的真实公网地址中各个字符生成的;或者,所述地址获得模块,具体用于:
将所述第一本机地址确定为所述客户端连接的网络设备的第一公网地址。
8.一种终端设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110968405.4A CN113676540B (zh) | 2021-08-23 | 2021-08-23 | 一种连接建立方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110968405.4A CN113676540B (zh) | 2021-08-23 | 2021-08-23 | 一种连接建立方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676540A CN113676540A (zh) | 2021-11-19 |
CN113676540B true CN113676540B (zh) | 2023-04-25 |
Family
ID=78545134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110968405.4A Active CN113676540B (zh) | 2021-08-23 | 2021-08-23 | 一种连接建立方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676540B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3999785B2 (ja) * | 2005-01-20 | 2007-10-31 | 株式会社フラクタリスト | 通信方法 |
CN102821020B (zh) * | 2011-06-09 | 2015-07-01 | 李小林 | 通过复制中转ip包来透传vpn通信的方法 |
CN108989488B (zh) * | 2018-09-06 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 网络地址转换设备的穿越方法、装置及存储介质 |
CN110198251B (zh) * | 2019-04-02 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 一种获得客户端地址的方法及装置 |
-
2021
- 2021-08-23 CN CN202110968405.4A patent/CN113676540B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113676540A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8073936B2 (en) | Providing support for responding to location protocol queries within a network node | |
CN106878135B (zh) | 一种连接方法及装置 | |
CN111131544B (zh) | 一种实现nat穿越的方法 | |
US20230247013A1 (en) | User authentication in communication systems | |
CN108494755B (zh) | 一种传输应用程序编程接口api请求的方法及装置 | |
CN108429739B (zh) | 一种识别蜜罐的方法、系统及终端设备 | |
CN112272164B (zh) | 报文处理方法及装置 | |
CN101808097B (zh) | 一种防arp攻击方法和设备 | |
JP2018526936A (ja) | 自動構成サーバおよび方法 | |
CN104506450A (zh) | 媒体资源反馈方法及装置 | |
EP3016423A1 (en) | Network safety monitoring method and system | |
CN111953770A (zh) | 一种路由转发方法、装置、路由设备及可读存储介质 | |
CN112870692B (zh) | 一种游戏加速方法、加速系统、加速装置以及存储介质 | |
CN114338597A (zh) | 一种网络访问方法及装置 | |
CN110995763B (zh) | 一种数据处理方法、装置、电子设备和计算机存储介质 | |
CN112822208A (zh) | 一种基于区块链的物联网设备识别方法及系统 | |
CN110943962B (zh) | 一种认证方法、网络设备和认证服务器以及转发设备 | |
CN110336793B (zh) | 一种内网访问方法及相关装置 | |
CN113676540B (zh) | 一种连接建立方法及装置 | |
TW201611549A (zh) | 網路設備及其進行路由轉發的方法 | |
CN110351159B (zh) | 一种跨内网的网络性能测试方法及装置 | |
JP2006270781A (ja) | リソース管理装置、システムおよび方法 | |
CN113014664B (zh) | 网关适配方法、装置、电子设备和存储介质 | |
CN107517162B (zh) | 一种cdn缓存服务器的确定方法及装置 | |
CN114710560A (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 |