本發(fā)明涉及通信領(lǐng)域,具體而言,涉及數(shù)據(jù)接收、發(fā)送方法及裝置。
背景技術(shù):
隨著IPv4地址資源日漸枯竭,網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,簡(jiǎn)稱為NAT)技術(shù)廣泛應(yīng)用,原有的客戶端與服務(wù)端之間的數(shù)據(jù)傳輸流程可能不能適用于經(jīng)由NAT組網(wǎng)的網(wǎng)絡(luò)系統(tǒng)。以實(shí)時(shí)流傳輸協(xié)議(Real Time Streaming Protocol,簡(jiǎn)稱為RTSP)為例,RTSP是TCP/IP協(xié)議體系中的一個(gè)應(yīng)用層協(xié)議,定義了應(yīng)用程序如何有效地通過(guò)IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)。圖1是相關(guān)技術(shù)中RTSP協(xié)議的交互流程圖,如圖1所示,RTSP客戶端和RTSP服務(wù)器可以直接進(jìn)行交互,十分方便。
但是,隨著NAT添加到相關(guān)的組網(wǎng)系統(tǒng)中,RTSP客戶端和服務(wù)端位于不同的NAT設(shè)備后,并且通過(guò)各自的NAT設(shè)備接入因特網(wǎng)(Internet),在該種場(chǎng)景下,RTSP客戶端和RTSP服務(wù)端的直接訪問(wèn)存在障礙。
針對(duì)相關(guān)技術(shù)中存在的當(dāng)客戶端和服務(wù)端位于不同NAT設(shè)備后時(shí),客戶端和服務(wù)端之間的直接訪問(wèn)存在障礙的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種數(shù)據(jù)接收、發(fā)送方法及裝置,以至少解決相關(guān)技術(shù)中存在的當(dāng)客戶端和服務(wù)端位于不同NAT設(shè)備后時(shí),導(dǎo)致客戶端和服務(wù)端之間的直接訪問(wèn)存在障礙的問(wèn)題。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)接收方法,包括:客戶端獲取所述客戶端的接收端口的信息和服務(wù)端的發(fā)送端口的信息,其中,所述接收端口用于所述客戶端接收數(shù)據(jù),所述發(fā)送端口用于所述服務(wù)端發(fā)送數(shù)據(jù),所述客戶端通過(guò)第一網(wǎng)絡(luò)地址轉(zhuǎn)換器NAT接入網(wǎng)絡(luò);所述客戶端根據(jù)所述發(fā)送端口的信息通過(guò)所述第一NAT向所述服務(wù)端發(fā)送穿透報(bào)文,其中,所述穿透報(bào)文用于所述第一NAT記錄所述發(fā)送端口的信息和所述接收端口的信息的映射關(guān)系,所述映射關(guān)系用于允許所述服務(wù)端發(fā)送的數(shù)據(jù)通過(guò)穿透所述第一NAT到達(dá)所述客戶端;所述客戶端接收所述服務(wù)端發(fā)送的通過(guò)穿透所述第一NAT達(dá)到所述客戶端的數(shù)據(jù)。
可選地,客戶端獲取所述客戶端的接收端口的信息和服務(wù)端的發(fā)送端口的信息,包括:所述客戶端創(chuàng)建所述接收端口;所述客戶端獲取所述接收端口的信息;所述客戶端通過(guò)中繼服務(wù)器向所述服務(wù)端發(fā)送用于請(qǐng)求獲取所述發(fā)送端口的信息的請(qǐng)求消息,其中,所述請(qǐng)求消息中攜帶有所述接收端口的信息,所述接收端口的信息用于所述服務(wù)端直接向所述接收端口發(fā)送數(shù)據(jù);所述客戶端接收所述服務(wù)端根據(jù)所述請(qǐng)求消息通過(guò)所述中繼服務(wù)器返回的響應(yīng)消息,其中,所述響應(yīng)消息中攜帶所述發(fā)送端口的信息。
可選地,所述客戶端接收所述服務(wù)端發(fā)送的通過(guò)穿透所述第一NAT到達(dá)所述客戶端的數(shù)據(jù)之后,還包括:所述客戶端通過(guò)中繼服務(wù)器向所述服務(wù)端發(fā)送終止請(qǐng)求,其中,所述終止請(qǐng)求用于請(qǐng)求所述服務(wù)端停止向所述客戶端發(fā)送數(shù)據(jù)。
可選地,所述方法包括以下至少之一:所述客戶端包括實(shí)時(shí)流傳輸協(xié)議RTSP客戶端和/或所述服務(wù)端包括RTSP服務(wù)端;所述發(fā)送端口的信息包括所述發(fā)送端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào);接收端口的信息包括所述接收端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào)。
根據(jù)本發(fā)明的另一個(gè)方面,還提供了另一種數(shù)據(jù)發(fā)送方法,包括:服務(wù)端向客戶端發(fā)送所述服務(wù)端的用于發(fā)送數(shù)據(jù)的發(fā)送端口的信息,其中,所述客戶端通過(guò)第一網(wǎng)絡(luò)地址轉(zhuǎn)換器NAT接入網(wǎng)絡(luò),所述發(fā)送端口的信息用于所述客戶端通過(guò)所述第一NAT向所述服務(wù)端發(fā)送穿透報(bào)文,所述穿透報(bào)文用于所述第一NAT記錄所述發(fā)送端口的信息和所述客戶端的用于接收數(shù)據(jù)的接收端口的信息的映射關(guān)系,所述映射關(guān)系用于允許所述服務(wù)端發(fā)送的數(shù)據(jù)穿透所述第一NAT到達(dá)所述客戶端;所述服務(wù)端向所述客戶端發(fā)送數(shù)據(jù),其中,所述數(shù)據(jù)通過(guò)所述第一NAT達(dá)到所述客戶端。
可選地,所述服務(wù)端向所述客戶端發(fā)送所述服務(wù)端的用于發(fā)送數(shù)據(jù)的發(fā)送端口的信息,包括:所述服務(wù)端通過(guò)中繼服務(wù)器獲取所述客戶端發(fā)送的用于請(qǐng)求獲取所述發(fā)送端口的信息的請(qǐng)求消息,其中,所述請(qǐng)求消息中攜帶有所述接收端口的信息;所述服務(wù)端根據(jù)所述請(qǐng)求消息創(chuàng)建所述發(fā)送端口;所述服務(wù)端獲取所述發(fā)送端口的信息;所述服務(wù)端通過(guò)所述中繼服務(wù)器向所述客戶端發(fā)送響應(yīng)消息,其中,所述響應(yīng)消息中攜帶所述發(fā)送端口的信息。
可選地,所述服務(wù)端通過(guò)第二NAT接入網(wǎng)絡(luò),所述服務(wù)端通過(guò)中繼服務(wù)器向客戶端發(fā)送所述服務(wù)端的用于發(fā)送數(shù)據(jù)的發(fā)送端口的信息包括:所述服務(wù)端通過(guò)所述第二NAT向所述中繼服務(wù)器發(fā)送所述發(fā)送端口的信息,其中,所述發(fā)送端口的信息被所述中繼服務(wù)器發(fā)送給所述客戶端,所述發(fā)送端口的信息用于所述第二NAT記錄所述發(fā)送端口的信息和所述接收端口的信息的映射關(guān)系,所述映射關(guān)系用于允許所述客戶端發(fā)送的數(shù)據(jù)通過(guò)穿透所述第二NAT到達(dá)所述服務(wù)端。
可選地,所述服務(wù)端向所述客戶端發(fā)送數(shù)據(jù)之后,還包括:所述服務(wù)端接收所述客戶端通過(guò)中繼服務(wù)器發(fā)送的終止請(qǐng)求;所述服務(wù)端根據(jù)所述終止請(qǐng)求停止向所述客戶端發(fā)送數(shù)據(jù)。
可選地,所述方法包括以下至少之一:所述客戶端包括實(shí)時(shí)流傳輸協(xié)議RTSP客戶端和/或所述服務(wù)端包括RTSP服務(wù)端;所述發(fā)送端口的信息包括所述發(fā)送端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào);接收端口的信息包括所述接收端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào)。
根據(jù)本發(fā)明的再一個(gè)方面,提供了一種數(shù)據(jù)接收裝置,應(yīng)用于客戶端中,包括:獲取模塊,用于獲取所述客戶端的接收端口的信息和服務(wù)端的發(fā)送端口的信息,其中,所述接收端口用于所述客戶端接收數(shù)據(jù),所述發(fā)送端口用于所述服務(wù)端發(fā)送數(shù)據(jù),所述客戶端通過(guò)第一網(wǎng)絡(luò)地址轉(zhuǎn)換器NAT接入網(wǎng)絡(luò);第一發(fā)送模塊,用于根據(jù)所述發(fā)送端口的信息通過(guò)所述第一NAT向所述服務(wù)端發(fā)送穿透報(bào)文,其中,所述穿透報(bào)文用于所述第一NAT記錄所述發(fā)送端口的信息和所述接收端口的信息的映射關(guān)系,所述映射關(guān)系用于允許所述服務(wù)端發(fā)送的數(shù)據(jù)通過(guò)穿透所述第一NAT到達(dá)所述客戶端;第一接收模塊,用于接收所述服務(wù)端發(fā)送的通過(guò)穿透所述第一NAT達(dá)到所述客戶端的數(shù)據(jù)。
可選地,所述獲取模塊包括:第一創(chuàng)建單元,用于創(chuàng)建所述接收端口;第一獲取單元,用于獲取所述接收端口的信息;第一發(fā)送單元,用于通過(guò)中繼服務(wù)器向所述服務(wù)端發(fā)送用于請(qǐng)求獲取所述發(fā)送端口的信息的請(qǐng)求消息,其中,所述請(qǐng)求消息中攜帶有所述接收端口的信息,所述接收端口的信息用于所述服務(wù)端直接向所述接收端口發(fā)送數(shù)據(jù);接收單元,用于接收所述服務(wù)端根據(jù)所述請(qǐng)求消息通過(guò)所述中繼服務(wù)器返回的響應(yīng)消息,其中,所述響應(yīng)消息中攜帶所述發(fā)送端口的信息。
可選地,所述裝置還包括:第二發(fā)送模塊,用于通過(guò)中繼服務(wù)器向所述服務(wù)端發(fā)送終止請(qǐng)求,其中,所述終止請(qǐng)求用于請(qǐng)求所述服務(wù)端停止向所述客戶端發(fā)送數(shù)據(jù)。
可選地,所述裝置包括以下至少之一:所述客戶端包括實(shí)時(shí)流傳輸協(xié)議RTSP客戶端和/或所述服務(wù)端包括RTSP服務(wù)端;所述發(fā)送端口的信息包括所述發(fā)送端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào);接收端口的信息包括所述接收端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào)。
根據(jù)本發(fā)明的又一個(gè)方面,提供了又一種數(shù)據(jù)發(fā)送裝置,應(yīng)用于服務(wù)端中,包括:第三發(fā)送模塊,用于向客戶端發(fā)送所述服務(wù)端的用于發(fā)送數(shù)據(jù)的發(fā)送端口的信息,其中,所述客戶端通過(guò)第一網(wǎng)絡(luò)地址轉(zhuǎn)換器NAT接入網(wǎng)絡(luò),所述發(fā)送端口的信息用于所述客戶端通過(guò)所述第一NAT向所述服務(wù)端發(fā)送穿透報(bào)文,所 述穿透報(bào)文用于所述第一NAT記錄所述發(fā)送端口的信息和所述客戶端的用于接收數(shù)據(jù)的接收端口的信息的映射關(guān)系,所述映射關(guān)系用于允許所述服務(wù)端發(fā)送的數(shù)據(jù)穿透所述第一NAT到達(dá)所述客戶端;第四發(fā)送模塊,用于向所述客戶端發(fā)送數(shù)據(jù),其中,所述數(shù)據(jù)通過(guò)所述第一NAT到達(dá)所述客戶端。
可選地,所述第三發(fā)送模塊包括:第二獲取單元,用于通過(guò)中繼服務(wù)器獲取所述客戶端發(fā)送的用于請(qǐng)求獲取所述發(fā)送端口的信息的請(qǐng)求消息,其中,所述請(qǐng)求消息中攜帶有所述接收端口的信息;第二創(chuàng)建單元,用于根據(jù)所述請(qǐng)求消息創(chuàng)建所述發(fā)送端口;第三獲取單元,用于獲取所述發(fā)送端口的信息;第二發(fā)送單元,用于通過(guò)所述中繼服務(wù)器向所述客戶端發(fā)送響應(yīng)消息,其中,所述響應(yīng)消息中攜帶所述發(fā)送端口的信息。
可選地,所述服務(wù)端通過(guò)第二NAT接入網(wǎng)絡(luò),所述第三發(fā)送模塊包括:通過(guò)所述第二NAT向中繼服務(wù)器發(fā)送所述發(fā)送端口的信息,其中,所述發(fā)送端口的信息被所述中繼服務(wù)器發(fā)送給所述客戶端,所述發(fā)送端口的信息用于所述第二NAT記錄所述發(fā)送端口的信息和所述接收端口的信息的映射關(guān)系,所述映射關(guān)系用于允許所述客戶端發(fā)送的數(shù)據(jù)通過(guò)穿透所述第二NAT到達(dá)所述服務(wù)端。
可選地,所述裝置還包括:第二接收模塊,用于接收所述客戶端通過(guò)中繼服務(wù)器發(fā)送的終止請(qǐng)求;終止模塊,用于根據(jù)所述終止請(qǐng)求停止向所述客戶端發(fā)送數(shù)據(jù)。
可選地,所述裝置包括以下至少之一:所述客戶端包括實(shí)時(shí)流傳輸協(xié)議RTSP客戶端和/或所述服務(wù)端包括RTSP服務(wù)端;所述發(fā)送端口的信息包括所述發(fā)送端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào);接收端口的信息包括所述接收端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào)。
通過(guò)本發(fā)明,采用客戶端獲取所述客戶端的接收端口的信息和服務(wù)端的發(fā)送端口的信息,其中,所述接收端口用于所述客戶端接收數(shù)據(jù),所述發(fā)送端口用于所述服務(wù)端發(fā)送數(shù)據(jù),所述客戶端通過(guò)第一網(wǎng)絡(luò)地址轉(zhuǎn)換器NAT接入網(wǎng)絡(luò);所述客戶端根據(jù)所述發(fā)送端口的信息通過(guò)所述第一NAT向所述服務(wù)端發(fā)送穿透報(bào)文,其中,所述穿透報(bào)文用于所述第一NAT記錄所述發(fā)送端口的信息和所述接收端口的信息的映射關(guān)系,所述映射關(guān)系用于允許所述服務(wù)端發(fā)送的數(shù)據(jù)通過(guò)穿透所述第一NAT到達(dá)所述客戶端;所述客戶端接收所述服務(wù)端發(fā)送的通過(guò)穿透所述第一NAT達(dá)到所述客戶端的數(shù)據(jù)的方式,使得客戶端和服務(wù)端可以直接收發(fā)數(shù)據(jù),解決了相關(guān)技術(shù)中存在的當(dāng)客戶端和服務(wù)端位于不同NAT設(shè)備后時(shí),客戶端和服務(wù)端之間的直接訪問(wèn)存在障礙的問(wèn)題,能夠?qū)崿F(xiàn)客戶端與服務(wù)端之間的直接訪問(wèn),提高了客戶端與服務(wù)端進(jìn)行數(shù)據(jù)交互的效率。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是相關(guān)技術(shù)中RTSP協(xié)議的交互流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)接收方法的流程圖;
圖3是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)發(fā)送方法的流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)接收裝置的結(jié)構(gòu)框圖;
圖5是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)接收裝置中獲取模塊42的結(jié)構(gòu)框圖;
圖6是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)接收裝置的優(yōu)選結(jié)構(gòu)框圖;
圖7是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)框圖;
圖8是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)發(fā)送裝置中的第三發(fā)送模塊72的結(jié)構(gòu)框圖;
圖9是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)發(fā)送裝置的優(yōu)選結(jié)構(gòu)框圖;
圖10是根據(jù)本發(fā)明實(shí)施例的系統(tǒng)結(jié)構(gòu)框圖;
圖11是根據(jù)本發(fā)明實(shí)施例的RTSP客戶端和服務(wù)端的交互流程圖。
具體實(shí)施方式
需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
以下實(shí)施例中的“第一”“第二”僅用于區(qū)分,并不對(duì)順序進(jìn)行限定。
本發(fā)明實(shí)施例中提供了一種數(shù)據(jù)接收方法,圖2是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)接收方法的流程圖,如圖2所示,該方法包括:
步驟S202:客戶端獲取客戶端的接收端口的信息和服務(wù)端的發(fā)送端口的信息,其中,接收端口用于客戶端接收數(shù)據(jù),發(fā)送端口用于服務(wù)端發(fā)送數(shù)據(jù),客戶端通過(guò)第一NAT接入網(wǎng)絡(luò);
步驟S204:客戶端根據(jù)發(fā)送端口的信息通過(guò)第一NAT向服務(wù)端發(fā)送穿透報(bào)文,其中,該穿透報(bào)文用于第一NAT記錄發(fā)送端口的信息和接收端口的信息的 映射關(guān)系,該映射關(guān)系用于允許服務(wù)端發(fā)送的數(shù)據(jù)通過(guò)穿透第一NAT到達(dá)客戶端;
步驟S206:客戶端接收服務(wù)端發(fā)送的通過(guò)穿透第一NAT達(dá)到客戶端的數(shù)據(jù)。
通過(guò)上述各個(gè)處理步驟,使得客戶端和服務(wù)端可以直接根收發(fā)數(shù)據(jù),解決了相關(guān)技術(shù)中存在的當(dāng)客戶端和服務(wù)端位于不同的NAT設(shè)備后時(shí),導(dǎo)致客戶端和服務(wù)端之間的直接訪問(wèn)存在障礙的問(wèn)題,能夠?qū)崿F(xiàn)客戶端與服務(wù)端之間的直接訪問(wèn),提高了客戶端與服務(wù)端進(jìn)行數(shù)據(jù)交互的效率。
在一個(gè)可選的實(shí)施例中,步驟S202可以通過(guò)以下步驟實(shí)現(xiàn):客戶端創(chuàng)建接收數(shù)據(jù)的接收端口;客戶端獲取接收端口的信息;客戶端通過(guò)中繼服務(wù)器向服務(wù)端發(fā)送用于請(qǐng)求獲取發(fā)送端口的信息的請(qǐng)求消息,其中,請(qǐng)求消息中攜帶有接收端口的信息,接收端口的信息用于服務(wù)端直接向接收端口發(fā)送數(shù)據(jù);客戶端接收服務(wù)端根據(jù)請(qǐng)求消息通過(guò)中繼服務(wù)器返回的響應(yīng)消息,其中,響應(yīng)消息中攜帶發(fā)送端口的信息。在該實(shí)施方式中,客戶端通過(guò)中繼服務(wù)器將接收數(shù)據(jù)的接收端口的信息發(fā)送給服務(wù)端,可以使得服務(wù)端確定接收該服務(wù)端發(fā)送的數(shù)據(jù)的客戶端的接口,進(jìn)而可以確定服務(wù)端發(fā)送數(shù)據(jù)時(shí)的目的地址,同時(shí)向服務(wù)端請(qǐng)求服務(wù)端用于發(fā)送數(shù)據(jù)的發(fā)送端口的信息,以向服務(wù)端發(fā)送穿透報(bào)文。
在一個(gè)可選的實(shí)施例中,在步驟S206之后,上述方法還包括:客戶端通過(guò)中繼服務(wù)器向服務(wù)端發(fā)送終止請(qǐng)求,其中,該終止請(qǐng)求用于請(qǐng)求服務(wù)端停止向客戶端發(fā)送數(shù)據(jù)。在該可選的實(shí)施例中,當(dāng)客戶端不需要接收服務(wù)端傳輸?shù)臄?shù)據(jù)后,可以通過(guò)發(fā)送請(qǐng)求的方式告知服務(wù)端,以使服務(wù)端斷開客戶端的直接通信,從而節(jié)省了系統(tǒng)資源。
上述記載的實(shí)施例中,客戶端可以包括實(shí)時(shí)流傳輸協(xié)議RTSP客戶端和/或服務(wù)端可以包括RTSP服務(wù)端;發(fā)送端口的信息可以包括發(fā)送端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào);接收端口的信息可以包括接收端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào)。當(dāng)然,上述客戶端和服務(wù)端也可以為除RTSP協(xié)議以外的其他客戶端與服務(wù)端,在此不再一一舉例。
上述實(shí)施例及實(shí)施方式是從客戶端的角度進(jìn)行描述的,下面,從服務(wù)端的角度出發(fā)對(duì)本發(fā)明進(jìn)行說(shuō)明,在本發(fā)明的實(shí)施例中,還提供了一種數(shù)據(jù)發(fā)送方法,圖3是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)發(fā)送方法的流程圖,如圖3所示,該方法包括:
步驟S302:服務(wù)端向客戶端發(fā)送服務(wù)端的用于發(fā)送數(shù)據(jù)的發(fā)送端口的信息,其中,客戶端通過(guò)第一NAT接入網(wǎng)絡(luò),發(fā)送端口的信息用于客戶端通過(guò)第一NAT向服務(wù)端發(fā)送穿透報(bào)文,該穿透報(bào)文用于第一NAT記錄發(fā)送端口的信息和客戶端的用于接收數(shù)據(jù)的接收端口的信息的映射關(guān)系,該映射關(guān)系用于允許服務(wù)端發(fā)送的數(shù)據(jù)穿透第一NAT到達(dá)客戶端;
步驟S304:服務(wù)端向客戶端發(fā)送數(shù)據(jù),其中,上述數(shù)據(jù)通過(guò)第一NAT達(dá)到客戶端。
通過(guò)上述各個(gè)處理步驟,可以使得客戶端和服務(wù)端可以直接收發(fā)數(shù)據(jù),解決了相關(guān)技術(shù)中存在的當(dāng)客戶端和服務(wù)端位于不同NAT設(shè)備后時(shí),導(dǎo)致客戶端和服務(wù)端之間的直接訪問(wèn)存在障礙的問(wèn)題,從而實(shí)現(xiàn)客戶端與服務(wù)端之間的直接訪問(wèn),提高了客戶端與服務(wù)端進(jìn)行數(shù)據(jù)交互的效率。
在一個(gè)可選的實(shí)施例中,步驟S302可以采取以下步驟實(shí)現(xiàn):服務(wù)端通過(guò)中繼服務(wù)器獲取客戶端發(fā)送的用于請(qǐng)求獲取發(fā)送端口的信息的請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有接收端口的信息;服務(wù)端根據(jù)請(qǐng)求消息創(chuàng)建發(fā)送端口;服務(wù)端獲取發(fā)送端口的信息;服務(wù)端通過(guò)中繼服務(wù)器向客戶端發(fā)送響應(yīng)消息,其中,該響應(yīng)消息中攜帶發(fā)送端口的信息。在該可選的實(shí)施例中,服務(wù)端在向客戶端發(fā)送發(fā)送端口的信息之前,首先收到了客戶端的請(qǐng)求消息,并從該請(qǐng)求消息中獲取了客戶端接收端口的信息,從而方便直接與客戶端進(jìn)行數(shù)據(jù)透?jìng)鳌?/p>
在一個(gè)可選的實(shí)施例中,步驟S304可以根據(jù)以下步驟來(lái)實(shí)現(xiàn):服務(wù)端通過(guò)第二NAT接入網(wǎng)絡(luò),并通過(guò)第二NAT向中繼服務(wù)器發(fā)送發(fā)送端口的信息,其中,該發(fā)送端口的信息被中繼服務(wù)器發(fā)送給客戶端,該發(fā)送端口的信息用于第二NAT記錄該發(fā)送端口的信息和接收端口的信息的映射關(guān)系,該映射關(guān)系用于允許客戶端發(fā)送的數(shù)據(jù)通過(guò)穿透第二NAT到達(dá)服務(wù)端。在該實(shí)施例中,服務(wù)端側(cè)的第二NAT記錄客戶端接收端口的信息與服務(wù)端發(fā)送端口的信息之間的映射關(guān)系,方便客戶端的數(shù)據(jù)通過(guò)第二NAT透?jìng)?,直接發(fā)送到服務(wù)端。
在另一個(gè)可選的實(shí)施例中,在步驟S304之后,上述方法還可以包括:服務(wù)端接收客戶端通過(guò)中繼服務(wù)器發(fā)送的終止請(qǐng)求;服務(wù)端根據(jù)終止請(qǐng)求停止向客戶端發(fā)送數(shù)據(jù)。在該可選的實(shí)施例中,在訪問(wèn)完成后,服務(wù)端根據(jù)終止請(qǐng)求斷開與客戶端的直接通信,節(jié)省了系統(tǒng)資源。
上述的實(shí)施例中,客戶端可以包括實(shí)時(shí)流傳輸協(xié)議RTSP客戶端和/或服務(wù)端可以包括RTSP服務(wù)端;發(fā)送端口的信息包括發(fā)送端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào);接收端口的信息包括接收端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào)。當(dāng)然,上述的客戶端和服務(wù)端也可以為除RTSP協(xié)議以外的其他客戶端與服務(wù)端,在此不再一一舉例。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必須的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出的貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括 若干指令用以使得一臺(tái)中端設(shè)備(可以使手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
本實(shí)施例中還提供了一種數(shù)據(jù)接收、發(fā)送裝置,該裝置用于實(shí)現(xiàn)上述數(shù)據(jù)接收、發(fā)送方法實(shí)施例及可選實(shí)施方式,已經(jīng)進(jìn)行過(guò)說(shuō)明的在此不再贅述。如以下所使用的,術(shù)語(yǔ)“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來(lái)實(shí)現(xiàn),但是硬件、或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。
圖4是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)接收裝置的結(jié)構(gòu)框圖,該裝置可以應(yīng)用于客戶端中,如圖4所示,該裝置包括:獲取模塊42、第一發(fā)送模塊44和第一接收模塊46,下面對(duì)該裝置進(jìn)行說(shuō)明。
獲取模塊42,用于獲取客戶端的接收端口的信息和服務(wù)端的發(fā)送端口的信息,其中,接收端口用于客戶端接收數(shù)據(jù),發(fā)送端口用于服務(wù)端發(fā)送數(shù)據(jù),客戶端通過(guò)第一NAT接入網(wǎng)絡(luò);第一發(fā)送模塊44,連接于上述獲取模塊42,用于根據(jù)發(fā)送端口的信息通過(guò)第一NAT向服務(wù)端發(fā)送穿透報(bào)文,其中,該穿透報(bào)文用于第一NAT記錄發(fā)送端口的信息和接收端口的信息的映射關(guān)系,該映射關(guān)系用于允許服務(wù)端發(fā)送的數(shù)據(jù)通過(guò)穿透第一NAT到達(dá)客戶端;第一接收模塊46,連接于第一發(fā)送模塊44,用于接收服務(wù)端發(fā)送的通過(guò)穿透第一NAT達(dá)到客戶端的數(shù)據(jù)。
圖5是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)接收裝置中獲取模塊42的結(jié)構(gòu)框圖,如圖5所示,獲取模塊42包括:第一創(chuàng)建單元52、第一獲取單元54、第一發(fā)送單元56和接收單元58,下面對(duì)該裝置進(jìn)行說(shuō)明。
第一創(chuàng)建單元52,用于創(chuàng)建用于接收數(shù)據(jù)的接收端口;第一獲取單元54,連接于第一創(chuàng)建單元52,用于獲取接收端口的信息,其中,該接收端口的信息用于服務(wù)端確定接收數(shù)據(jù)的端口;第一發(fā)送單元56,連接于第一獲取單元54,用于通過(guò)中繼服務(wù)器向服務(wù)端發(fā)送用于請(qǐng)求獲取發(fā)送端口的信息的請(qǐng)求消息,其中,請(qǐng)求消息中攜帶有接收端口的信息,接收端口的信息用于服務(wù)端直接向接收端口發(fā)送數(shù)據(jù);接收單元58,連接于第一發(fā)送單元56,用于接收服務(wù)端根據(jù)請(qǐng)求消息通過(guò)中繼服務(wù)器返回的響應(yīng)消息,其中,響應(yīng)消息中攜帶發(fā)送端口的信息。
圖6是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)接收裝置的優(yōu)選結(jié)構(gòu)框圖,如圖6所示,該裝置除包括圖4所示的所有模塊外,還包括:第二發(fā)送模塊62,下面對(duì)該裝置進(jìn)行說(shuō)明。
第二發(fā)送模塊62,連接至第一接收模塊46,用于通過(guò)中繼服務(wù)器向服務(wù)端發(fā)送終止請(qǐng)求,其中,該終止請(qǐng)求用于請(qǐng)求服務(wù)端停止向客戶端發(fā)送數(shù)據(jù)。
上述所記載的數(shù)據(jù)發(fā)送裝置的實(shí)施例及實(shí)施方式中,客戶端可以包括實(shí)時(shí)流傳輸協(xié)議RTSP客戶端,服務(wù)端可以包括RTSP服務(wù)端;發(fā)送端口的信息可以包括發(fā)送端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào);接收端口的信息可以包括接收端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào)。
上述數(shù)據(jù)發(fā)送裝置是從客戶端的角度來(lái)進(jìn)行描述的,下面,從服務(wù)端的角度來(lái)對(duì)數(shù)據(jù)發(fā)送裝置的實(shí)施例及實(shí)施方式進(jìn)行描述。
圖7是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)框圖,該裝置可以應(yīng)用于服務(wù)端中,如圖7所示,該裝置包括:第三發(fā)送模塊72和第四發(fā)送模塊74,下面對(duì)該裝置進(jìn)行說(shuō)明。
第三發(fā)送模塊72,用于向客戶端發(fā)送服務(wù)端的用于發(fā)送數(shù)據(jù)的發(fā)送端口的信息,其中,客戶端通過(guò)第一NAT接入網(wǎng)絡(luò),發(fā)送端口的信息用于客戶端通過(guò)第一NAT向服務(wù)端發(fā)送穿透報(bào)文,該穿透報(bào)文用于第一NAT記錄發(fā)送端口的信息和客戶端的用于接收數(shù)據(jù)的接收端口的信息的映射關(guān)系,該映射關(guān)系用于允許服務(wù)端發(fā)送的數(shù)據(jù)穿透第一NAT到達(dá)客戶端;第四發(fā)送模塊74,連接于第三發(fā)送模塊72,用于向客戶端發(fā)送數(shù)據(jù),其中,上述數(shù)據(jù)通過(guò)第一NAT到達(dá)客戶端。
圖8是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)發(fā)送裝置中的第三發(fā)送模塊72的結(jié)構(gòu)框圖,如圖8所示,第三發(fā)送模塊72還包括:第二獲取單元82、第二創(chuàng)建單元84、第三獲取單元86和第二發(fā)送單元88,下面對(duì)該裝置進(jìn)行說(shuō)明。
第二獲取單元82,用于通過(guò)中繼服務(wù)器獲取客戶端發(fā)送的用于請(qǐng)求獲取發(fā)送端口的信息的請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有接收端口的信息;第二創(chuàng)建單元84,連接于第二獲取單元82,用于根據(jù)請(qǐng)求消息創(chuàng)建發(fā)送端口;第三獲取單元86,連接于第二創(chuàng)建單元84,用于獲取發(fā)送端口的信息;第二發(fā)送單元88,連接于第三獲取單元86,用于通過(guò)中繼服務(wù)器向客戶端發(fā)送響應(yīng)消息,其中,該響應(yīng)消息中攜帶發(fā)送端口的信息。
在一個(gè)可選的實(shí)施例中,上述服務(wù)端通過(guò)第二NAT接入網(wǎng)絡(luò),第三發(fā)送模塊72可以包括:通過(guò)第二NAT向中繼服務(wù)器發(fā)送發(fā)送端口的信息,其中,發(fā)送端口的信息被中繼服務(wù)器發(fā)送給客戶端,發(fā)送端口的信息用于第二NAT記錄發(fā)送端口的信息和接收端口的信息的映射關(guān)系,映射關(guān)系用于允許客戶端發(fā)送的數(shù)據(jù)通過(guò)穿透第二NAT到達(dá)服務(wù)端。
圖9是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)發(fā)送裝置的優(yōu)選結(jié)構(gòu)框圖,如圖9所示,該裝置除包括圖7所示的所有模塊外,還包括:第二接收模塊92和終止模塊94,下面對(duì)該裝置進(jìn)行說(shuō)明。
第二接收模塊92,連接至上述第四發(fā)送模塊74,用于接收客戶端通過(guò)中繼 服務(wù)器發(fā)送的終止請(qǐng)求;終止模塊94,連接于第二接收模塊92,用于根據(jù)該終止請(qǐng)求停止向客戶端發(fā)送數(shù)據(jù)。
上述數(shù)據(jù)發(fā)送模塊的實(shí)施例及實(shí)施方式中,客戶端可以包括RTSP客戶端、服務(wù)端可以包括RTSP服務(wù)端;發(fā)送端口的信息可以包括發(fā)送端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào);接收端口的信息可以包括接收端口的公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址和NAT映射公網(wǎng)端口號(hào)。
需要說(shuō)明的是,上述各個(gè)模塊是可以通過(guò)軟件或硬件來(lái)實(shí)現(xiàn)的,對(duì)于后者,可以表現(xiàn)為以下形式,但不限于此,其中,第三發(fā)送模塊72和第四發(fā)送模塊74可以位于同一處理器中,或者,第三發(fā)送模塊72和第四發(fā)送模塊74也可以分別位于第一處理器和第二處理器中。
下面以RTSP客戶端和RTSP服務(wù)端為例,對(duì)本發(fā)明進(jìn)行舉例說(shuō)明。圖10是根據(jù)本發(fā)明實(shí)施例的系統(tǒng)結(jié)構(gòu)框圖,如圖10所示,本實(shí)施例針對(duì)RTSP客戶端和服務(wù)器端分別位于不同NAT設(shè)備之后的組網(wǎng)場(chǎng)景,為了實(shí)現(xiàn)RTSP客戶端對(duì)服務(wù)端的直接訪問(wèn),RTSP客戶端和服務(wù)器端首先通過(guò)TCP中繼服務(wù)器建立起RTSP會(huì)話,在RTSP SETUP消息交互之前向NAT的用戶數(shù)據(jù)協(xié)議(User Datagram Protocol,簡(jiǎn)稱為UDP)簡(jiǎn)單穿越(Simple Transversal of UDP over nats,簡(jiǎn)稱為STUN)服務(wù)器獲取各自的實(shí)時(shí)傳輸協(xié)議(Real Time Transport Protocol,簡(jiǎn)稱為RTP)、RTP控制協(xié)議(RTP Control Protocol,簡(jiǎn)稱為RTCP)端口公網(wǎng)映射地址,在RTSP建立SETUP消息中交換各自的RTP、RTCP公網(wǎng)映射地址,并向?qū)Χ说腞TP、RTCP公網(wǎng)地址發(fā)送UDP穿透報(bào)文在各自的NAT設(shè)備上形成記錄,使對(duì)端的RTP、RTCP報(bào)文能夠穿越自己的NAT設(shè)備。下面對(duì)本實(shí)施例中的上述方法進(jìn)行具體描述:
步驟1):RTSP客戶端向中繼服務(wù)器發(fā)送選擇OPTION、描述DESCRIBE請(qǐng)求,中繼服務(wù)器轉(zhuǎn)發(fā)RTSP服務(wù)端響應(yīng);
步驟2):RTSP客戶端創(chuàng)建用于接收RTP數(shù)據(jù)報(bào)文的UDP端口,并通過(guò)STUN協(xié)議獲取該端口公網(wǎng)IP地址及NAT映射公網(wǎng)端口號(hào);
步驟3):RTSP客戶端發(fā)送SETUP請(qǐng)求至中繼服務(wù)器,RTP地址為接收端口公網(wǎng)地址及端口號(hào);
步驟4)RTSP服務(wù)端創(chuàng)建RTP發(fā)送端口,并通過(guò)STUN協(xié)議獲取該端口公網(wǎng)地址及NAT映射公網(wǎng)端口號(hào);
步驟5):中繼服務(wù)器轉(zhuǎn)發(fā)RTSP服務(wù)端SETUP響應(yīng),RTP地址為發(fā)送端公網(wǎng)地址及端口號(hào);
步驟6):RTSP客戶端發(fā)送并接收到PLAY響應(yīng)后,發(fā)送RTP UDP穿透報(bào) 文;
步驟7):RTSP服務(wù)端向客戶端發(fā)送UDP數(shù)據(jù)報(bào)文;
步驟8):RTSP客戶端發(fā)送TEARDOWN請(qǐng)求至中繼服務(wù)器后流程結(jié)束。
與相關(guān)技術(shù)相比較,在本實(shí)施例中,可以使位于不同NAT設(shè)備之后的RTSP客戶端和服務(wù)端之間點(diǎn)到點(diǎn)的實(shí)時(shí)流傳輸成為可能。提高了RTSP客戶端和服務(wù)端之間的數(shù)據(jù)實(shí)時(shí)傳輸?shù)男省?/p>
在圖10中,RTSP客戶端(如裝有相關(guān)應(yīng)用程序(Application,簡(jiǎn)稱為APP)的手機(jī)、平板電腦等)和RTSP服務(wù)端(如可產(chǎn)生實(shí)時(shí)音視頻流的攝像頭等)位于NAT路由器之后,位于NAT設(shè)備之后的RTSP客戶端想要獲取位于NAT設(shè)備之后的RTSP服務(wù)器上的音視頻流,也可以按照本發(fā)明實(shí)施例紅提供的方法實(shí)現(xiàn),具體描述如下:
首先在公網(wǎng)環(huán)境中部署RTSP中繼服務(wù)器和STUN服務(wù)器,中繼服務(wù)器用來(lái)轉(zhuǎn)發(fā)客戶端和服務(wù)端的請(qǐng)求與響應(yīng),STUN服務(wù)器用來(lái)協(xié)助位于NAT后的客戶端和服務(wù)端穿越NAT。
圖11是根據(jù)本發(fā)明實(shí)施例的RTSP客戶端和服務(wù)端的交互流程圖,如圖11所示,該流程包括如下步驟:
步驟S1102:基于RTSP協(xié)議,客戶端向中繼服務(wù)器發(fā)送OPTION、DESCRIBE請(qǐng)求,中繼服務(wù)器將客戶端的請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)端,并將服務(wù)端的響應(yīng)轉(zhuǎn)發(fā)給客戶端,如圖11中的消息1-8。
步驟S1104:收到DESCRIBE響應(yīng)后,RTSP客戶端創(chuàng)建用于接收RTP數(shù)據(jù)報(bào)文的UDP端口,并通過(guò)STUN協(xié)議獲取該端口公網(wǎng)IP地址及NAT映射公網(wǎng)端口號(hào),如圖11中的消息9,并在下一步發(fā)送SETUP請(qǐng)求中將獲取到的公網(wǎng)IP及端口號(hào)公布出去。
步驟S1106:RTSP客戶端通過(guò)STUN協(xié)議獲取到公網(wǎng)IP及NAT映射公網(wǎng)端口號(hào)后,發(fā)送SETUP請(qǐng)求至中繼服務(wù)器,RTP地址為客戶端接收端口公網(wǎng)地址及端口號(hào);中繼服務(wù)器轉(zhuǎn)發(fā)SETUP請(qǐng)求至服務(wù)端,服務(wù)端創(chuàng)建RTP發(fā)送端口,并通過(guò)STUN協(xié)議獲取該端口的公網(wǎng)地址及NAT映射公網(wǎng)端口號(hào);隨后服務(wù)端發(fā)送SETUP響應(yīng)至中繼服務(wù)器,SETUP響應(yīng)中的RTP地址為發(fā)送端公網(wǎng)地址及端口號(hào),中繼服務(wù)器將SETUP響應(yīng)轉(zhuǎn)發(fā)到客戶端,如圖11中的消息10-14。至此,客戶端和服務(wù)端已經(jīng)知道了對(duì)端的公網(wǎng)IP地址及NAT映射公網(wǎng)端口號(hào)。
步驟S1108:RTSP客戶端向中繼服務(wù)器發(fā)送PLAY請(qǐng)求,中繼服務(wù)器將PLAY請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)端,服務(wù)端回復(fù)PLAY響應(yīng),中繼服務(wù)器向客戶端轉(zhuǎn)發(fā)PLAY響應(yīng),如圖11中的消息15-18。
步驟S1110:客戶端收到PLAY響應(yīng)后,向服務(wù)端(步驟S1306中獲取到的發(fā)送端公網(wǎng)地址)發(fā)送RTP UDP穿透報(bào)文,如圖11中的消息19。發(fā)送該消息后,在客戶端連接的NAT路由上形成記錄,此后,從服務(wù)端發(fā)送過(guò)來(lái)的UDP數(shù)據(jù)報(bào)文即可穿越NAT到達(dá)客戶端。
至此,位于NAT后的RTSP客戶端可以直接從同樣位于NAT后的服務(wù)端獲取音視頻流。
步驟S1112,RTSP客戶端可以通過(guò)發(fā)送TEARDOWN請(qǐng)求至中繼服務(wù)器來(lái)結(jié)束音視頻流的請(qǐng)求,如圖11中的消息21-24。
綜上所述,本發(fā)明實(shí)施例的技術(shù)方案能夠達(dá)到以下有益效果:使位于不同NAT設(shè)備之后的RTSP客戶端和服務(wù)端之間進(jìn)行點(diǎn)到點(diǎn)的實(shí)時(shí)流傳輸,RTSP客戶端可以較快、效率較高的從RTSP服務(wù)端獲得音視頻流,并在獲取完成后結(jié)束RTSP客戶端與服務(wù)端之間的通信,提高了系統(tǒng)資源的利用率。
需要說(shuō)明的是,上述各個(gè)模塊是可以通過(guò)軟件或硬件來(lái)實(shí)現(xiàn)的,對(duì)于后者,可以通過(guò)以下方式實(shí)現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個(gè)處理器中。
在另外一個(gè)實(shí)施例中,還提供了一種存儲(chǔ)介質(zhì),可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:
S1,客戶端獲取客戶端的接收端口的信息和服務(wù)端的發(fā)送端口的信息,其中,接收端口用于客戶端接收數(shù)據(jù),發(fā)送端口用于服務(wù)端發(fā)送數(shù)據(jù),客戶端通過(guò)第一NAT接入網(wǎng)絡(luò);
S2,客戶端根據(jù)發(fā)送端口的信息通過(guò)第一NAT向服務(wù)端發(fā)送穿透報(bào)文,其中,該穿透報(bào)文用于第一NAT記錄發(fā)送端口的信息和接收端口的信息的映射關(guān)系,該映射關(guān)系用于允許服務(wù)端發(fā)送的數(shù)據(jù)通過(guò)穿透第一NAT到達(dá)客戶端;
S3,客戶端接收服務(wù)端發(fā)送的通過(guò)穿透第一NAT到達(dá)客戶端的數(shù)據(jù)。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)還可以被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:
S1,服務(wù)端向客戶端發(fā)送服務(wù)端的用于發(fā)送數(shù)據(jù)的發(fā)送端口的信息,其中,客戶端通過(guò)第一NAT接入網(wǎng)絡(luò),發(fā)送端口的信息用于客戶端通過(guò)第一NAT向服務(wù)端發(fā)送穿透報(bào)文,該穿透報(bào)文用于第一NAT記錄發(fā)送端口的信息和客戶端的用于接收數(shù)據(jù)的接收端口的信息的映射關(guān)系,該映射關(guān)系用于允許服務(wù)器發(fā)送的數(shù)據(jù)穿透第一NAT到達(dá)客戶端;
S2,服務(wù)端向客戶端發(fā)送數(shù)據(jù),其中,上述數(shù)據(jù)通過(guò)第一NAT達(dá)到客戶端。
可選地,該存儲(chǔ)介質(zhì)中存儲(chǔ)有上述軟件,該存儲(chǔ)介質(zhì)包括但不限于:U盤、只讀存儲(chǔ)器(Read-Only Memory,簡(jiǎn)稱為ROM)、隨即存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱為RAM)、光盤、軟盤、移動(dòng)硬盤、磁盤、可擦寫存儲(chǔ)器等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上僅為本發(fā)明的可選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。