CN112202780A - 一种基于双套接字的数据传输方法、装置、设备及介质 - Google Patents
一种基于双套接字的数据传输方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112202780A CN112202780A CN202011060021.4A CN202011060021A CN112202780A CN 112202780 A CN112202780 A CN 112202780A CN 202011060021 A CN202011060021 A CN 202011060021A CN 112202780 A CN112202780 A CN 112202780A
- Authority
- CN
- China
- Prior art keywords
- socket
- sending end
- connection
- data
- port
- 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.)
- Granted
Links
Images
Classifications
-
- 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]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种基于双套接字的数据传输方法、装置、设备及介质,该方法包括:通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接;通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接;通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端;通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。通过分别与发送端和目标接收端建立的第一类套接字连接,将获取的第二数据直接传输给目标接收端,实现了端与端之间的数据透传,提高了数据传输效率。
Description
技术领域
本发明涉及数据传输领域,特别涉及一种基于双套接字的数据传输方法、装置、设备及介质。
背景技术
网络上,端与端之间的通讯需要通过服务器转发数据,目前服务器转发是通过一个套接字(即Socket)连接,即服务器通过套接字连接获取数据,并对数据进行解析,然后跟据解析内容判断是否需要转发,但面对大量数据时,数据解析需要耗费较多时间,对一些实时性要求较高的业务会有影响,影响到数据传输效率。
发明内容
有鉴于此,本发明的目的在于提供一种种基于双套接字的数据传输方法、装置、设备及介质,能够提高数据传输效率,其具体方案如下:
第一方面,本申请公开了一种基于双套接字的数据传输方法,包括:
通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接;
通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接;
通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端;
通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。
可选的,所述通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接,包括:
通过第一固定套接字接收所述发送端的第一连接请求;
基于所述第一连接请求为所述发送端分配第一类套接字端口;
基于所述第一类套接字端口与所述发送端建立用于传输第二数据的所述第一类套接字连接,并将所述第一类套接字端口的端口号发送给所述发送端。
可选的,所述通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接,包括:
通过第二固定套接字接收所述发送端的第二连接请求;
基于所述第二连接请求为所述发送端分配第二类套接字端口;
基于所述第二类套接字端口与所述发送端建立用于获取并解析第一数据的所述第二类套接字连接。
可选的,所述通过所述第二类套接字连接获取所述发送端发送的第一数据,包括:
通过所述第二类套接字连接,获取所述发送端发送的所述第一类套接字端口的端口号,以及所述目标接收端的身份信息。
可选的,所述通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端,包括:
通过所述发送端的第一类套接字连接对应的第一类套接字端口,获取所述发送端发送的所述第二数据;
基于预先创建的第二关联关系,将所述第二数据,通过所述目标接收端的第一类套接字连接对应的第一类套接字端口发送给所述目标接收端。
可选的,所述基于预先创建的第二关联关系,将所述第二数据,通过所述目标接收端的第一类套接字连接对应的第一类套接字端口发送给所述目标接收端之前,还包括:
基于所述发送端的身份信息、所述目标接收端的身份信息以及预先创建的第一关联关系,创建所述发送端的第一类套接字端口和所述目标接收端的第一类套接字端口之间的所述第二关联关系;其中,所述第一关联关系为所述发送端的所述第一类套接字端口和所述发送端的身份信息之间的关联关系。
可选的,所述基于所述发送端的身份信息、所述目标接收端的身份信息以及第一关联关系,创建所述发送端的第一类套接字端口和所述目标接收端的第一类套接字端口之间的所述第二关联关系之前,还包括:
通过所述第二类套接字连接对所述发送端进行身份登记,得到所述发送端的身份信息;
基于所述发送端的所述第一类套接字端口的端口号和所述发送端的身份信息,创建所述发送端的所述第一类套接字端口和所述发送端的身份信息之间的所述第一关联关系。
第二方面,本申请公开了一种基于双套接字的数据传输装置,包括:
第一类套接字连接建立模块,用于通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接;
第二类套接字连接建立模块,用于通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接;
目标接收端确定模块,用于通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端;
数据发送模块,用于通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的基于双套接字的数据传输方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的基于双套接字的数据传输方法。
本申请公开的基于双套接字的数据传输方法,包括:通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接;通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接;通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端;通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。
可见,通过与发送端建立的第二类套接字连接获取发送端发送的第一数据,并确定出目标接收端,然后通过与发送端建立的第一类套接字连接获取发送端发送的第二数据,并通过与所述目标接收端建立的第一类套接字连接,直接将所述第二数据传输给目标接收端,不对所述第二数据进行解析,实现了端与端之间的数据透传,提高了数据传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种基于双套接字的数据传输方法流程图;
图2为本申请提供的双套接字的数据传输结构示意图;
图3为本申请提供的一种具体的基于双套接字的数据传输方法流程图;
图4为本申请提供的一种基于双套接字的数据传输装置结构示意图;
图5为本申请提供的一种电子设备结构图。
具体实施方式
现有技术中,通过一个套接字连接获取数据并进行解析,然后根据解析内容判断是否需要转发,由于数据解析需要耗费时间,因此降低了数据传输的效率。为克服上述问题,本申请提出一种基于双套接字连接的数据传输方法,可以实现端与端之间的数据透传,提高了数据传输效率。
本申请实施例公开了一种基于双套接字的数据传输方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接。
本实施例中,首先通过第一固定套接字接收发送端发送的第一连接请求,然后与上述发送端建立第一类套接字连接;可以理解的是,通过上述第一固定套接字获取到发送端的第一连接请求后,与上述发送端建立第一类套接字连接;同样,服务器与其余客户端均通过上述方式建立第一类套接字连接。
步骤S12:通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接。
本实施例中,通过第二固定套接字接收发送端发送的第二连接请求,然后与上述发送端建立第二类套接字连接;可以理解的是,通过上述第二固定套接字获取到发送端的第二连接请求后,与上述发送端建立第二类套接字连接;同样,服务器与其余客户端均通过上述方式建立第二类套接字连接。
步骤S13:通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端。
本实施例中,上述第一类套接字连接和上述第二类套接字连接建立完成后,通过上述第二类套接字连接获取上述发送端发送的第一数据;其中,上述第一数据为需要解析的数据,可以包括但不限于身份信息数据和消息通知数据;可以理解的是,上述第二类套接字连接用于获取发送端发送的需要解析的数据,并上述服务器通过解析上述第一数据可以确定与上述发送端对应的目标接收端。
步骤S14:通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。
本实施例中,通过上述第一类套接字连接获取上述发送端发送的第二数据,然后通过上述目标接收端的第一类套接字连接,将上述第二数据直接透传给上述目标接收端,即不对上述第二数据进行解析;其中,上述第二数据为不需要解析可直接透传的数据,即上述发送端向上述目标接收端发送的数据,例如可以为视频传输中的视频数据,也可以为车辆的现场总线数据。例如图2所示的连接结构示意图,上述第一类套接字连接用于获取可直接透传的数据,上述服务器将通过上述第一类套接字连接获取的第二数据直接传输给相应的目标接收端,由此实现数据的透传,提高数据传输的效率。服务器通过双套接字连接进行数据的高效转发,服务器提供两个TCP/IP套接字服务,两个套接字端口分别是第一固定套接字端口和第二固定套接字端口,然后
分别创建第一类套接字连接和第二类套接字连接,第二类套接字连接用于与发送端和目标接收端之间进行业务数据通讯,例如身份验证、消息通知等,服务器需要对第二类套接字连接获取的数据进行解析;第一类套接字连接用于接收直接转发的数据,服务器不需要通过第一类套接字连接获取的数据进行解析,发送端和目标接收端通过两个第二类套接字连接进行身份验证,通过第一类套接字连接直接进行端与端的通讯。
本实施例通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接,并通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接,然后通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端,最后通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。可见,通过与发送端建立的第二类套接字连接获取发送端发送的第一数据,并确定出目标接收端,然后通过与发送端建立的第一类套接字连接获取发送端发送的第二数据,并通过与所述目标接收端建立的第一类套接字连接,直接将所述第二数据传输给目标接收端,不对所述第二数据进行解析,实现了端与端之间的数据透传,提高了数据传输效率。
本申请实施例公开了一种具体的基于双套接字的数据传输方法,参见图2所示,该方法可以包括以下步骤:
步骤S21:通过第一固定套接字接收所述发送端的第一连接请求;基于所述第一连接请求为所述发送端分配第一类套接字端口。
本实施例中,通过第一固定套接字接收上述发送端通过因特网发送的第一连接请求,在获取到上述第一连接请求后,为上述发送端分配第一类套接字端口;可以理解的是,套接字连接的建立过程为首先通过固定的套接字获取连接请求,然后分配出新的套接字端口用于建立实际的套接字连接。
步骤S22:基于所述第一类套接字端口与所述发送端建立用于传输第二数据的所述第一类套接字连接,并将所述第一类套接字端口的端口号发送给所述发送端。
本实施例中,基于上述第一类套接字端口与上述发送端建立用于传输第二数据的第一类套接字连接,其中,上述第二数据为不需要解析可直接透传的数据,即上述发送端向上述目标接收端发送的数据;然后在上述第一类套接字连接建立后,将上述第一类套接字端口的端口号发送给上述发送端;可以理解的是,由于网络上的网络地址转换设备的原因,发送端的本地端口号与服务器记录的端口号是不一致的,并且由于服务器未对与第一类套接字连接的发送端进行身份验证,服务器不能确定连接对象,因此需要服务器将上述发送端在服务器内记录的端口号发送给发送端。
步骤S23:通过第二固定套接字接收所述发送端的第二连接请求;基于所述第二连接请求为所述发送端分配第二类套接字端口。
本实施例中,通过第二固定套接字接收上述发送端通过因特网发送的第二连接请求,在获取到上述第二连接请求后,为上述发送端分配第二类套接字端口;可以理解的是,套接字连接的建立过程为首先通过固定的套接字获取连接请求,然后分配出新的套接字端口用于建立实际的套接字连接。
步骤S24:基于所述第二类套接字端口与所述发送端建立用于获取并解析第一数据的所述第二类套接字连接。
本实施例中,通过为发送端分配的第二类套接字端口,与上述发送端建立用于获取并解析第一数据的第二类套接字连接,其中,上述第一数据为需要解析的数据,可以包括但不限于身份信息数据和消息通知数据,以便服务器对上述发送端进行身份登记和身份验证等操作。
步骤S25:通过所述第二类套接字连接,获取所述发送端发送的所述第一类套接字端口的端口号,以及所述目标接收端的身份信息。
本实施例中,通过上述第二类套接字连接,获取发送端发送的相应的第一类套接字端口的端口号,以及上述发送端对应的目标接收端的身份信息;可以理解的是,发送端将获取的相应的第一类套接字端口的端口号,通过第二类套接字连接再发送给服务器,以便服务器根据上述端口号确定相应的第一类套接字连接和第二类套接字连接均为与同一个发送端的套接字连接;并通过上述第二类套接字连接获取发送端发送的目标接收端的身份信息,以确定相应的目标接收端。
步骤S26:通过所述发送端的第一类套接字连接对应的第一类套接字端口,获取所述发送端发送的所述第二数据。
本实施例中,通过与发送端的第一类套接字连接对应的本地第一类套接字端口,获取上述发送端通过上述第一类套接字连接发送的第二数据。
步骤S27:基于预先创建的第二关联关系,将所述第二数据,通过所述目标接收端的第一类套接字连接对应的第一类套接字端口发送给所述目标接收端。
本实施例中,接收到上述第二数据后,基于预先创建的第二关联关系,并通过上述目标接收端的第一类套接字连接对应的第一类套接字端口,将上述第二数据发送给上述目标接收端;其中,上述第二关联关系为发送端的第一类套接字端口与目标发送端的第一类套接字端口的之间的关联关系;可以理解的是,通过发送端的第一类套接字端口获取到第二数据后,直接将上述第二数据通过目标发送端的第一类套接字端口发送给目标接收端,以实现数据的透传;即将通过发送端的第一类套接字端口获取到的任意数据,不经过解析,直接通过目标发送端的第一类套接字端口发送给目标接收端。
本实施例中,所述基于预先创建的第二关联关系,将所述第二数据,通过所述目标接收端的第一类套接字连接对应的第一类套接字端口发送给所述目标接收端之前,还可以包括:基于所述发送端的身份信息、所述目标接收端的身份信息以及预先创建的第一关联关系,创建所述发送端的第一类套接字端口和所述目标接收端的第一类套接字端口之间的所述第二关联关系;其中,所述第一关联关系为所述发送端的所述第一类套接字端口和所述发送端的身份信息之间的关联关系。可以理解的是,根据通过上述第二类套接字连接获取的上述发送端的身份信息和上述目标接收端的身份信息,以及预先创建的第一关联关系可以确定出相应的发送端的第一类套接字端口,以及与发送端对应的目标接收端的第一类套接字端口,然后创建上述发送端的第一类套接字端口与上述目标接收端的第一类套接字端口之间的连接关系;其中,上述预先创建的第一关联关系包括发送端的第一类套接字端口和发送端的身份信息之间的关联关系,也包括目标接收端的第一类套接字端口和目标接收端的身份信息之间的关联关系。
本实施例中,所述基于所述发送端的身份信息、所述目标接收端的身份信息以及第一关联关系,创建所述发送端的第一类套接字端口和所述目标接收端的第一类套接字端口之间的所述第二关联关系之前,还可以包括:通过所述第二类套接字连接对所述发送端进行身份登记,得到所述发送端的身份信息;基于所述发送端的所述第一类套接字端口的端口号和所述发送端的身份信息,创建所述发送端的所述第一类套接字端口和所述发送端的身份信息之间的所述第一关联关系。可以理解的是,在与发送端建立第二套接字连接后,对上述发送端进行身份登记以确定身份信息,并上述发送端的第一类套接字端口和上述发送端的身份信息之间的第一关联关系;同样,服务器通过上述方式对上述目标接收端或其余客户端建立相应的第一关联关系。
由上可见,本实施例通过第二类套接字连接,获取发送端发送的相应的第一类套接字端口的端口号,以及目标接收端的身份信息,然后通过发送端的第一类套接字连接对应的第一类套接字端口,获取发送端发送的第二数据,并基于预先创建的第一连接关系和第二关联关系,将所述第二数据,通过所述目标接收端的第一类套接字连接对应的第一类套接字端口发送给所述目标接收端;由此一来,不再对第二数据进行解析,直接在获取后发送给目标接收端,以实现数据的透传,提高了数据传输的效率。
相应的,本申请实施例还公开了一种基于双套接字的数据传输装置,参见图4所示,该装置包括:
第一类套接字连接建立模块11,用于通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接;
第二类套接字连接建立模块12,用于通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接;
目标接收端确定模块13,用于通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端;
数据发送模块14,用于通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。
在一些具体实施例中,所述第一类套接字连接建立模块11具体可以包括:
第一连接请求接收单元,用于通过第一固定套接字接收所述发送端的第一连接请求;
第一类套接字连接建立单元,用于基于所述第一连接请求为所述发送端分配第一类套接字端口;基于所述第一类套接字端口与所述发送端建立用于传输第二数据的所述第一类套接字连接;
端口号发送单元,用于将所述第一类套接字端口的端口号发送给所述发送端。
在一些具体实施例中,所述第二类套接字连接建立模块12具体可以包括:
第二连接请求接收单元,用于通过第二固定套接字接收所述发送端的第二连接请求;
第二类套接字连接建立单元,用于基于所述第二连接请求为所述发送端分配第二类套接字端口;基于所述第二类套接字端口与所述发送端建立用于获取并解析第一数据的所述第二类套接字连接。
在一些具体实施例中,所述数据发送模块14具体可以包括:
数据获取单元,用于通过所述发送端的第一类套接字连接对应的第一类套接字端口,获取所述发送端发送的所述第二数据;
数据传输单元,用于基于预先创建的第二关联关系,将所述第二数据,通过所述目标接收端的第一类套接字连接对应的第一类套接字端口发送给所述目标接收端。
在一些具体实施例中,所述基于双套接字的数据传输装置还可以包括:
第二关联关系创建单元,用于基于所述发送端的身份信息、所述目标接收端的身份信息以及预先创建的第一关联关系,创建所述发送端的第一类套接字端口和所述目标接收端的第一类套接字端口之间的所述第二关联关系;其中,所述第一关联关系为所述发送端的所述第一类套接字端口和所述发送端的身份信息之间的关联关系;
第一关联关系创建单元,用于通过所述第二类套接字连接对所述发送端进行身份登记,得到所述发送端的身份信息;基于所述发送端的所述第一类套接字端口的端口号和所述发送端的身份信息,创建所述发送端的所述第一类套接字端口和所述发送端的身份信息之间的所述第一关联关系。
进一步的,本申请实施例还公开了一种电子设备,参见图5所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的基于双套接字的数据传输方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括第一数据和第二数据在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的基于双套接字的数据传输方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的基于双套接字的数据传输方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种基于双套接字的数据传输方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于双套接字的数据传输方法,其特征在于,应用于服务器,包括:
通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接;
通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接;
通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端;
通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。
2.根据权利要求1所述的基于双套接字的数据传输方法,其特征在于,所述通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接,包括:
通过第一固定套接字接收所述发送端的第一连接请求;
基于所述第一连接请求为所述发送端分配第一类套接字端口;
基于所述第一类套接字端口与所述发送端建立用于传输第二数据的所述第一类套接字连接,并将所述第一类套接字端口的端口号发送给所述发送端。
3.根据权利要求2所述的基于双套接字的数据传输方法,其特征在于,所述通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接,包括:
通过第二固定套接字接收所述发送端的第二连接请求;
基于所述第二连接请求为所述发送端分配第二类套接字端口;
基于所述第二类套接字端口与所述发送端建立用于获取并解析第一数据的所述第二类套接字连接。
4.根据权利要求3所述的基于双套接字的数据传输方法,其特征在于,所述通过所述第二类套接字连接获取所述发送端发送的第一数据,包括:
通过所述第二类套接字连接,获取所述发送端发送的所述第一类套接字端口的端口号,以及所述目标接收端的身份信息。
5.根据权利要求4所述的基于双套接字的数据传输方法,其特征在于,所述通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端,包括:
通过所述发送端的第一类套接字连接对应的第一类套接字端口,获取所述发送端发送的所述第二数据;
基于预先创建的第二关联关系,将所述第二数据,通过所述目标接收端的第一类套接字连接对应的第一类套接字端口发送给所述目标接收端。
6.根据权利要求5所述的基于双套接字的数据传输方法,其特征在于,所述基于预先创建的第二关联关系,将所述第二数据,通过所述目标接收端的第一类套接字连接对应的第一类套接字端口发送给所述目标接收端之前,还包括:
基于所述发送端的身份信息、所述目标接收端的身份信息以及预先创建的第一关联关系,创建所述发送端的第一类套接字端口和所述目标接收端的第一类套接字端口之间的所述第二关联关系;其中,所述第一关联关系为所述发送端的所述第一类套接字端口和所述发送端的身份信息之间的关联关系。
7.根据权利要求6所述的基于双套接字的数据传输方法,其特征在于,所述基于所述发送端的身份信息、所述目标接收端的身份信息以及第一关联关系,创建所述发送端的第一类套接字端口和所述目标接收端的第一类套接字端口之间的所述第二关联关系之前,还包括:
通过所述第二类套接字连接对所述发送端进行身份登记,得到所述发送端的身份信息;
基于所述发送端的所述第一类套接字端口的端口号和所述发送端的身份信息,创建所述发送端的所述第一类套接字端口和所述发送端的身份信息之间的所述第一关联关系。
8.一种基于双套接字的数据传输装置,其特征在于,应用于服务器,包括:
第一类套接字连接建立模块,用于通过第一固定套接字接收发送端的第一连接请求,并与所述发送端建立第一类套接字连接;
第二类套接字连接建立模块,用于通过第二固定套接字接收所述发送端的第二连接请求,并与所述发送端建立第二类套接字连接;
目标接收端确定模块,用于通过所述第二类套接字连接获取所述发送端发送的第一数据,并基于所述第一数据确定目标接收端;
数据发送模块,用于通过所述第一类套接字连接获取所述发送端发送的第二数据,并通过所述目标接收端的第一类套接字连接,将所述第二数据直接传输给所述目标接收端。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的基于双套接字的数据传输方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于双套接字的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011060021.4A CN112202780B (zh) | 2020-09-30 | 2020-09-30 | 一种基于双套接字的数据传输方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011060021.4A CN112202780B (zh) | 2020-09-30 | 2020-09-30 | 一种基于双套接字的数据传输方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112202780A true CN112202780A (zh) | 2021-01-08 |
CN112202780B CN112202780B (zh) | 2022-10-11 |
Family
ID=74012510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011060021.4A Active CN112202780B (zh) | 2020-09-30 | 2020-09-30 | 一种基于双套接字的数据传输方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112202780B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979305A (zh) * | 2022-06-30 | 2022-08-30 | 京东方科技集团股份有限公司 | 一种通信方法、装置、设备、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115357A1 (en) * | 2001-12-17 | 2003-06-19 | Chu Hao-Hua | Communication socket migration among different devices |
CN110233851A (zh) * | 2019-06-21 | 2019-09-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据传输方法和装置 |
CN111064588A (zh) * | 2018-10-16 | 2020-04-24 | 上海欣诺通信技术股份有限公司 | 消息处理方法、系统、设备及存储介质 |
US10645172B1 (en) * | 2017-03-30 | 2020-05-05 | Amazon Technologies, Inc. | Socket tunneling connections in a service provider environment |
US20200252485A1 (en) * | 2019-02-04 | 2020-08-06 | Dell Products L.P. | Accelerating isochronous endpoints of redirected usb devices |
-
2020
- 2020-09-30 CN CN202011060021.4A patent/CN112202780B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115357A1 (en) * | 2001-12-17 | 2003-06-19 | Chu Hao-Hua | Communication socket migration among different devices |
US10645172B1 (en) * | 2017-03-30 | 2020-05-05 | Amazon Technologies, Inc. | Socket tunneling connections in a service provider environment |
CN111064588A (zh) * | 2018-10-16 | 2020-04-24 | 上海欣诺通信技术股份有限公司 | 消息处理方法、系统、设备及存储介质 |
US20200252485A1 (en) * | 2019-02-04 | 2020-08-06 | Dell Products L.P. | Accelerating isochronous endpoints of redirected usb devices |
CN110233851A (zh) * | 2019-06-21 | 2019-09-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据传输方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979305A (zh) * | 2022-06-30 | 2022-08-30 | 京东方科技集团股份有限公司 | 一种通信方法、装置、设备、存储介质及程序产品 |
CN114979305B (zh) * | 2022-06-30 | 2024-03-22 | 京东方科技集团股份有限公司 | 一种通信方法、装置、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112202780B (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1892887B1 (en) | Communication method between communication devices and communication apparatus | |
CN102546559B (zh) | 受限网络中端到端传输数据的方法、设备和系统 | |
CN109660637B (zh) | P2p打洞传输方法和系统、电子装置及计算机可读存储介质 | |
US20160241664A1 (en) | Method, device, and system for redirecting data by using service proxy | |
CN112104744B (zh) | 流量代理方法、服务器及存储介质 | |
JP2006031063A (ja) | 優先制御装置 | |
CN111510476B (zh) | 通信方法、装置、计算机设备和计算机可读存储介质 | |
EP1792408A2 (en) | System and method for network-assisted connection in a wireless environment | |
CN113810349B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN115297098B (zh) | 边缘服务获取方法和装置、边缘计算系统、介质、设备 | |
CN111726400A (zh) | 反向连接的方法、装置和服务端系统 | |
CN112202780B (zh) | 一种基于双套接字的数据传输方法、装置、设备及介质 | |
CN110166479B (zh) | 一种传输系统提升udp发送效率的方法 | |
CN103973648B (zh) | 应用数据推送方法、装置及系统 | |
CN113613279B (zh) | 路由策略生成方法及相关设备 | |
CN116582590A (zh) | 数据传输方法及装置 | |
CN103139205B (zh) | 报文处理方法、装置及网络服务器 | |
CN115514799A (zh) | Tcp连接方法、系统、网络设备及存储介质 | |
CN112543191B (zh) | 一种负载均衡方法及装置 | |
CN110708319A (zh) | 服务请求的处理方法及装置 | |
CN113497783B (zh) | 处理数据的方法和装置 | |
EP2993865A1 (en) | Method, system and related device for processing service | |
KR101586058B1 (ko) | Nat환경을 고려한 피투피 통신 연결 장치 및 이를 이용한 피투피 통신 연결 방법 | |
CN114338633B (zh) | 一种远程连接Linux服务器的方法及系统 | |
CN112583934B (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 |