一種穿越防火墻的方法和電子設(shè)備的制造方法
【專利摘要】本發(fā)明公開了一種穿越防火墻的方法和電子設(shè)備,屬于通信技術(shù)領(lǐng)域,包括:第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文;TCP服務(wù)器根據(jù)注冊請求報文進行注冊,并通過第一預(yù)設(shè)協(xié)議向第一終端設(shè)備返回注冊確認報文;第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送呼叫請求報文,以使TCP服務(wù)器向第二終端設(shè)備轉(zhuǎn)發(fā)呼叫請求報文;TCP服務(wù)器獲取UDP服務(wù)器,并將UDP服務(wù)器的信息發(fā)送至第一終端設(shè)備和第二終端設(shè)備;第一終端設(shè)備通過第二預(yù)設(shè)協(xié)議向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求;UDP服務(wù)器建立第一終端設(shè)備與第二終端設(shè)備的數(shù)據(jù)傳輸通道。本發(fā)明實施例穿越防火墻實現(xiàn)數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦合度。
【專利說明】
一種穿越防火墻的方法和電子設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種穿越防火墻的方法和電子設(shè)備。
【背景技術(shù)】
[0002]防火墻是一種位于內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間的網(wǎng)絡(luò)安全系統(tǒng)。通過設(shè)置防火墻可以限定進出網(wǎng)絡(luò)的數(shù)據(jù)包類型和流量,能夠極大地提高企業(yè)內(nèi)部網(wǎng)絡(luò)環(huán)境的安全性,并通過過濾不安全的服務(wù)而降低風(fēng)險。
[0003]但是防火墻在保護企業(yè)內(nèi)部網(wǎng)絡(luò)的同時,也限制了企業(yè)內(nèi)部網(wǎng)絡(luò)的用戶對互聯(lián)網(wǎng)的各種應(yīng)用,如一些嚴格限制的防火墻設(shè)置為只允許超文本傳輸協(xié)議(HTTP’HyperTextTransfer Protocol)才能訪問外網(wǎng),導(dǎo)致內(nèi)網(wǎng)終端與外網(wǎng)終端不能使用協(xié)議傳輸控制協(xié)議(TCP,Transmiss1n Control Protocol)和用戶數(shù)據(jù)報協(xié)議(UDP,User DatagramProtocol)進行數(shù)據(jù)傳輸,進而導(dǎo)致無法運行如視頻通訊、語音聊天軟件等網(wǎng)絡(luò)服務(wù),內(nèi)網(wǎng)終端與外網(wǎng)終端之間無法進行數(shù)據(jù)傳輸,存在數(shù)據(jù)傳輸?shù)撵`活度不高,兼容性差和耦合度差的冋題。
【發(fā)明內(nèi)容】
[0004]為了提高數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦合度,本發(fā)明實施例提供了一種穿越防火墻的方法和電子設(shè)備。所述技術(shù)方案如下:
[0005]第一方面,提供了一種穿越防火墻的方法,所述方法包括:
[0006]第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,所述第一預(yù)設(shè)協(xié)議報文的頭部包括所述第一終端設(shè)備與所述TCP服務(wù)器保持連接的字段,所述第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文;
[0007]所述TCP服務(wù)器根據(jù)所述注冊請求報文進行注冊,并通過所述第一預(yù)設(shè)協(xié)議向所述第一終端設(shè)備返回注冊確認報文;
[0008]所述第一終端設(shè)備通過所述第一預(yù)設(shè)協(xié)議向所述TCP服務(wù)器發(fā)送呼叫請求報文,以使所述TCP服務(wù)器向第二終端設(shè)備轉(zhuǎn)發(fā)所述呼叫請求報文;
[0009]所述TCP服務(wù)器獲取UDP服務(wù)器,并將所述UDP服務(wù)器的信息發(fā)送至所述第一終端設(shè)備和所述第二終端設(shè)備;
[0010]所述第一終端設(shè)備通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求;
[0011 ]所述UDP服務(wù)器建立所述第一終端設(shè)備與所述第二終端設(shè)備的數(shù)據(jù)傳輸通道。
[0012]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述第一預(yù)設(shè)協(xié)議為HTTP協(xié)議,所述第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文包括:
[0013]所述第一終端設(shè)備通過所述HTTP協(xié)議中的POST請求向所述TCP服務(wù)器發(fā)送所述第一預(yù)設(shè)協(xié)議報文,所述POST請求的頭部包括Transf er-Encoding: chunked字段。
[0014]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述TCP月艮務(wù)器獲取UDP服務(wù)器,并將所述UDP服務(wù)器的信息發(fā)送至所述第一終端設(shè)備和所述第二終端設(shè)備包括:
[0015]所述TCP服務(wù)器獲取所有可用的UDP服務(wù)器的網(wǎng)絡(luò)參數(shù);
[0016]根據(jù)所述網(wǎng)絡(luò)參數(shù),所述TCP服務(wù)器篩選出網(wǎng)絡(luò)參數(shù)最優(yōu)的UDP服務(wù)器;
[0017]所述TCP服務(wù)器將所述UDP服務(wù)器的信息發(fā)送至所述第一終端設(shè)備和所述第二終端設(shè)備,其中所述UDP服務(wù)器的信息至少包括所述UDP服務(wù)器的IP地址和端口號。
[0018]結(jié)合第一方面,在第三種可能的實現(xiàn)方式中,所述第二預(yù)設(shè)協(xié)議為HTTP協(xié)議,所述第一終端設(shè)備通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求包括:
[0019]所述第一終端設(shè)備通過HTTP協(xié)議的POST請求向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求,其中所述數(shù)據(jù)傳輸通道建立請求包括相關(guān)會話參數(shù),所述POST請求的頭部包括Transfer-Encoding: chunked 字段。
[0020]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述UDP月艮務(wù)器建立所述第一終端設(shè)備與所述第二終端設(shè)備的數(shù)據(jù)傳輸通道包括:
[0021]所述UDP服務(wù)器向所述第一終端設(shè)備返回與所述數(shù)據(jù)傳輸通道建立請求相對應(yīng)的應(yīng)答信息;
[0022]所述UDP服務(wù)器建立所述第一終端設(shè)備與所述第二終端設(shè)備的數(shù)據(jù)傳輸通道。
[0023]結(jié)合第一方面,在第五種可能的實現(xiàn)方式中,所述UDP服務(wù)器建立所述第一終端設(shè)備與所述第二終端設(shè)備的數(shù)據(jù)傳輸通道之后,所述方法還包括:
[0024]所述第一終端設(shè)備通過所述數(shù)據(jù)傳輸通道,向所述第二終端設(shè)備發(fā)送數(shù)據(jù)。
[0025]結(jié)合第一方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述第一終端設(shè)備通過所述數(shù)據(jù)傳輸通道,向所述第二終端設(shè)備發(fā)送數(shù)據(jù)之前,所述方法還包括:
[0026]所述第一終端設(shè)備通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器中獲取所述第二終端設(shè)備根據(jù)所述呼叫請求報文返回的呼叫響應(yīng)報文。
[0027]第二方面,提供了一種穿越防火墻的方法,所述方法包括:
[0028]通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,所述第一預(yù)設(shè)協(xié)議報文的頭部包括與所述TCP服務(wù)器保持連接的字段,所述第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文,以使所述TCP服務(wù)器根據(jù)所述注冊請求報文進行注冊;
[0029]通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器獲取注冊應(yīng)答報文;
[0030]通過所述第一預(yù)設(shè)協(xié)議向所述TCP服務(wù)器發(fā)送呼叫請求報文,以使所述TCP服務(wù)器向其他終端設(shè)備轉(zhuǎn)發(fā)所述呼叫請求報文;
[0031 ]接收所述TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息;
[0032]通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文;
[0033]通過所述第二預(yù)設(shè)協(xié)議從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文。
[0034]結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述第一預(yù)設(shè)協(xié)議為HTTP協(xié)議,所述通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文包括:
[0035]通過所述HTTP協(xié)議中的POST請求向所述TCP服務(wù)器發(fā)送所述第一預(yù)設(shè)協(xié)議報文,所述POST請求的頭部包括Transf er-Encoding: chunked字段。
[0036]結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器獲取注冊應(yīng)答報文包括:
[0037]通過所述HTTP協(xié)議中的GET請求從所述TCP服務(wù)器中獲取所述注冊應(yīng)答報文,所述注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0038]結(jié)合第二方面,在第三種可能的實現(xiàn)方式中,所述第二預(yù)設(shè)協(xié)議為HTTP協(xié)議,所述通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文包括:
[0039]通過所述HTTP協(xié)議的POST請求向所述UDP服務(wù)器發(fā)送所述數(shù)據(jù)傳輸通道建立請求報文,其中所述數(shù)據(jù)傳輸通道建立請求報文包括相關(guān)會話參數(shù),所述POST請求的頭部包括Transfer-Encoding: chunked 字段。
[0040]結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述通過所述第二預(yù)設(shè)協(xié)議從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文包括:
[0041 ] 通過所述HTTP協(xié)議中的GET請求從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文,所述數(shù)據(jù)傳輸通道建立應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0042]結(jié)合第二方面,在第五種可能的實現(xiàn)方式中,所述通過所述第二預(yù)設(shè)協(xié)議從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文之后,所述方法還包括:
[0043]通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,向所述其他終端設(shè)備發(fā)送數(shù)據(jù)。
[0044]結(jié)合第二方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,向所述其他終端設(shè)備發(fā)送數(shù)據(jù)之前,所述方法還包括:
[0045]通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器中獲取所述其他終端設(shè)備根據(jù)所述呼叫請求報文返回的呼叫響應(yīng)報文。
[0046]第三方面,提供了一種電子設(shè)備,所述電子設(shè)備包括:
[0047]第一發(fā)送模塊,用于通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,所述第一預(yù)設(shè)協(xié)議報文的頭部包括與所述TCP服務(wù)器保持連接的字段,所述第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文,以使所述TCP服務(wù)器根據(jù)所述注冊請求報文進行注冊;
[0048]第一接收模塊,用于通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器獲取注冊應(yīng)答報文;
[0049]第二發(fā)送模塊,用于通過所述第一預(yù)設(shè)協(xié)議向所述TCP服務(wù)器發(fā)送呼叫請求報文,以使所述TCP服務(wù)器向其他終端設(shè)備轉(zhuǎn)發(fā)所述呼叫請求報文;
[0050]第二接收模塊,用于接收所述TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息;
[0051]第三發(fā)送模塊,用于通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文;
[0052]第三接收模塊,用于通過所述第二預(yù)設(shè)協(xié)議從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文。
[0053]結(jié)合第三方面,在第一種可能的實現(xiàn)方式中,所述第一發(fā)送模塊具體用于:
[0054]所述第一預(yù)設(shè)協(xié)議為HTTP協(xié)議,通過所述HTTP協(xié)議中的POST請求向所述TCP服務(wù)器發(fā)送所述第一預(yù)設(shè)協(xié)議報文,所述POST請求的頭部包括Transfer-Encoding: chunked字段。
[0055]結(jié)合第三方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述第一接收模塊具體用于:
[0056]通過所述HTTP協(xié)議中的GET請求從所述TCP服務(wù)器中獲取所述注冊應(yīng)答報文,所述注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0057]結(jié)合第三方面,在第三種可能的實現(xiàn)方式中,所述第三發(fā)送模塊具體用于:
[0058]所述第二預(yù)設(shè)協(xié)議為HTTP協(xié)議,通過所述HTTP協(xié)議的POST請求向所述UDP服務(wù)器發(fā)送所述數(shù)據(jù)傳輸通道建立請求報文,其中所述數(shù)據(jù)傳輸通道建立請求報文包括相關(guān)會話參數(shù),所述POST請求的頭部包括Transf er-Encoding: chunked字段。
[0059]結(jié)合第三方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述第三接收模塊具體用于:
[0060]通過所述HTTP協(xié)議中的GET請求從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文,所述數(shù)據(jù)傳輸通道建立應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0061]結(jié)合第三方面,在第五種可能的實現(xiàn)方式中,所述第三發(fā)送模塊還具體用于:
[0062]通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,向所述其他終端設(shè)備發(fā)送數(shù)據(jù)。
[0063]結(jié)合第三方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述第二接收模塊還用于:
[0064]通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器中獲取所述其他終端設(shè)備根據(jù)所述呼叫請求報文返回的呼叫響應(yīng)報文。
[0065]第四方面,提供了一種電子設(shè)備,所述電子設(shè)備包括發(fā)送/接收模塊、存儲器以及與所述發(fā)送/接收模塊、所述存儲器連接的處理器,其中,所述存儲器用于存儲一組程序代碼,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
[0066]控制所述發(fā)送/接收模塊通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,所述第一預(yù)設(shè)協(xié)議報文的頭部包括與所述TCP服務(wù)器保持連接的字段,所述第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文,以使所述TCP服務(wù)器根據(jù)所述注冊請求報文進行注冊;
[0067]控制所述發(fā)送/接收模塊通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器獲取注冊應(yīng)答報文;
[0068]控制所述發(fā)送/接收模塊通過所述第一預(yù)設(shè)協(xié)議向所述TCP服務(wù)器發(fā)送呼叫請求報文,以使所述TCP服務(wù)器向其他終端設(shè)備轉(zhuǎn)發(fā)所述呼叫請求報文;
[0069]控制所述發(fā)送/接收模塊接收所述TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息;
[0070]控制所述發(fā)送/接收模塊通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文;
[0071]控制所述發(fā)送/接收模塊通過所述第二預(yù)設(shè)協(xié)議從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文。
[0072]結(jié)合第四方面,在第一種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
[0073]所述第一預(yù)設(shè)協(xié)議為HTTP協(xié)議,控制所述發(fā)送/接收模塊通過所述HTTP協(xié)議中的POST請求向所述TCP服務(wù)器發(fā)送所述第一預(yù)設(shè)協(xié)議報文,所述POST請求的頭部包括Transfer-Encoding: chunked 字段。
[0074]結(jié)合第四方面的第一種可能的實現(xiàn)方式中,在第二種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
[0075]控制所述發(fā)送/接收模塊通過所述HTTP協(xié)議中的GET請求從所述TCP服務(wù)器中獲取所述注冊應(yīng)答報文,所述注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0076]結(jié)合第四方面,在第三種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
[0077]所述第二預(yù)設(shè)協(xié)議為HTTP協(xié)議,控制所述發(fā)送/接收模塊通過所述HTTP協(xié)議的POST請求向所述UDP服務(wù)器發(fā)送所述數(shù)據(jù)傳輸通道建立請求報文,其中所述數(shù)據(jù)傳輸通道建立請求報文包括相關(guān)會話參數(shù),所述POST請求的頭部包括Transfer-Encoding: chunked字段。
[0078]結(jié)合第四方面的第三種可能的實現(xiàn)方式中,在第四種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
[0079]控制所述發(fā)送/接收模塊通過所述HTTP協(xié)議中的GET請求從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文,所述數(shù)據(jù)傳輸通道建立應(yīng)答報文的頭部包括Transfer-Encoding: chunked 字段。
[0080]結(jié)合第四方面,在第五種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
[0081 ]控制所述發(fā)送/接收模塊通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,向所述其他終端設(shè)備發(fā)送數(shù)據(jù)。
[0082]結(jié)合第四方面的第五種可能的實現(xiàn)方式中,在第六種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
[0083]控制所述發(fā)送/接收模塊通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器中獲取所述其他終端設(shè)備根據(jù)所述呼叫請求報文返回的呼叫響應(yīng)報文。
[0084]本發(fā)明公開了一種穿越防火墻的方法和電子設(shè)備,屬于通信技術(shù)領(lǐng)域,包括:第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文;TCP服務(wù)器根據(jù)注冊請求報文進行注冊,并通過第一預(yù)設(shè)協(xié)議向第一終端設(shè)備返回注冊確認報文;第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送呼叫請求報文,以使TCP服務(wù)器向第二終端設(shè)備轉(zhuǎn)發(fā)呼叫請求報文;TCP服務(wù)器獲取UDP服務(wù)器,并將UDP服務(wù)器的信息發(fā)送至第一終端設(shè)備;第一終端設(shè)備通過第二預(yù)設(shè)協(xié)議向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求;UDP服務(wù)器建立第一終端設(shè)備與第二終端設(shè)備的數(shù)據(jù)傳輸通道。當(dāng)防火墻設(shè)置為只允許HTTP協(xié)議才能訪問外網(wǎng),且防火墻開放http 80和/Shttp 8080端口時,通過TCP服務(wù)器根據(jù)第一終端設(shè)備發(fā)送的注冊請求進行注冊,TCP服務(wù)器向第二終端設(shè)備轉(zhuǎn)發(fā)第一終端設(shè)備的呼叫請求報文,以及UDP服務(wù)器根據(jù)第一終端設(shè)備和第一終端設(shè)備發(fā)送的通道建立請求,建立數(shù)據(jù)傳輸通道,使內(nèi)網(wǎng)終端與外網(wǎng)終端之間能夠進行數(shù)據(jù)傳輸,實現(xiàn)了穿越防火墻進行數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦合度。
【附圖說明】
[0085]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0086]圖1是本發(fā)明實施例提供的一種穿越防火墻的方法流程圖;
[0087]圖2是本發(fā)明實施例提供的一種穿越防火墻的方法流程圖;
[0088]圖3是本發(fā)明實施例提供的一種穿越防火墻的方法流程圖;
[0089]圖4是本發(fā)明實施例提供的一種穿越防火墻的方法流程圖;
[0090]圖5是本發(fā)明實施例提供的一種電子設(shè)備結(jié)構(gòu)示意圖;
[0091 ]圖6是本發(fā)明實施例提供的一種電子設(shè)備結(jié)構(gòu)示意圖。
【具體實施方式】
[0092]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0093]本發(fā)明實施例提供了一種穿越防火墻的方法,該方法可以應(yīng)用于防火墻設(shè)置為只允許HTTP協(xié)議才能訪問外網(wǎng),且防火墻開放http 80和/Shttp 8080端口的場景,通過本發(fā)明的各實施例可以穿越防火墻,實現(xiàn)從內(nèi)網(wǎng)終端與外網(wǎng)終端的數(shù)據(jù)傳輸如視頻數(shù)據(jù)、語音數(shù)據(jù)、圖片數(shù)據(jù)以及文本數(shù)據(jù)等的數(shù)據(jù)傳輸,除此之外,本發(fā)明實施例所述的穿越防火墻的方法還可以應(yīng)用于其他場景下的數(shù)據(jù)傳輸,本發(fā)明實施例對具體的場景不加以限定。需要說明的是,作為內(nèi)網(wǎng)終端的第一終端設(shè)備和作為外網(wǎng)終端的第二終端設(shè)備在數(shù)據(jù)傳輸之前,連接至同一個TCP服務(wù)器,該TCP服務(wù)器可以是單個TCP服務(wù)器,也可以是由多個TCP服務(wù)器組成的服務(wù)器群,且該TCP服務(wù)器群內(nèi),多個TCP服務(wù)器之間可以共享信息。
[0094]實施例一為本發(fā)明實施例提供的一種穿越防火墻的方法,參照圖1所示,該方法包括:
[0095]101、第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,第一預(yù)設(shè)協(xié)議報文的頭部包括第一終端設(shè)備與TCP服務(wù)器保持連接的字段,第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文。
[0096]具體的,第一預(yù)設(shè)協(xié)議為HTTP協(xié)議;
[0097]第一終端設(shè)備通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,POST請求的頭部包括 Transf er-Encoding: chunked 字段。
[0098]其中,Transfer-Encoding:chunked字段是HTTP協(xié)議中的一種數(shù)據(jù)傳輸機制,允許HTTP協(xié)議中的數(shù)據(jù)可以分成多個部分,通過將數(shù)據(jù)分解成一系列數(shù)據(jù)塊,并以一個或多個塊發(fā)送,這樣HTTP協(xié)議數(shù)據(jù)在發(fā)送時可以不需要預(yù)先知道數(shù)據(jù)內(nèi)容的總大小。
[0099]102、TCP服務(wù)器根據(jù)注冊請求報文進行注冊,并通過第一預(yù)設(shè)協(xié)議向第一終端設(shè)備返回注冊確認報文。
[0100]具體的,該過程可以為:
[0101]第一終端設(shè)備向TCP服務(wù)器發(fā)送HTTP GET請求;
[0102]TCP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中,該HTTP響應(yīng)的頭部包括Transfer-Encoding: chunked字段,該HTTP響應(yīng)的負載部分包括注冊確認報文。
[0103]值得注意的是,當(dāng)TCP服務(wù)器返回的注冊確認報文指示注冊成功后,才執(zhí)行步驟103;否則,結(jié)束或者返回步驟101。
[0104]103、第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送呼叫請求報文,以使TCP月艮務(wù)器向第二終端設(shè)備轉(zhuǎn)發(fā)呼叫請求報文。
[0105]具體的,第一終端設(shè)備通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送呼叫請求報文,其中,POST請求的頭部包括Transfer-Encoding: chunked字段,POST請求的負載部分包括呼叫請求報文,該呼叫請求報文包括第一終端設(shè)備的地址信息和第二終端設(shè)備的地址信息;
[0106]TCP服務(wù)器根據(jù)呼叫請求報文所包括的第二終端設(shè)備的地址信息,將該呼叫請求報文發(fā)送至第二終端設(shè)備。
[0107]104、TCP服務(wù)器獲取UDP服務(wù)器,并將UDP服務(wù)器的信息發(fā)送至第一終端設(shè)備和第二終端設(shè)備。
[0108]具體的,TCP服務(wù)器獲取所有可用的UDP服務(wù)器的網(wǎng)絡(luò)參數(shù);
[0109]根據(jù)網(wǎng)絡(luò)參數(shù),TCP服務(wù)器篩選出網(wǎng)絡(luò)參數(shù)最優(yōu)的UDP服務(wù)器;
[0110]TCP服務(wù)器將UDP服務(wù)器的信息發(fā)送至第一終端設(shè)備和第二終端設(shè)備,其中UDP月艮務(wù)器的信息至少包括UDP服務(wù)器的IP地址和端口號,該過程可以為:
[0111]當(dāng)?shù)诙K端設(shè)備設(shè)有防火墻時,第一終端設(shè)備和第二終端設(shè)備分別向TCP服務(wù)器發(fā)送HTTP GET請求;
[0112]TCP服務(wù)器通過HTTP協(xié)議分別向第一終端設(shè)備和第二終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中該HTTP響應(yīng)的頭部包括Transf er-Encoding: chunked字段,HTTP響應(yīng)的負載部分包括UDP服務(wù)器的信息。
[0113]當(dāng)?shù)诙K端設(shè)備未設(shè)有防火墻時,第一終端設(shè)備向TCP服務(wù)器發(fā)送HTTPGET請求;
[0114]TCP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中該HTTP響應(yīng)的頭部包括Transfer-Encoding: chunked字段,HTTP響應(yīng)的負載部分包括UDP服務(wù)器的信息。
[0115]TCP服務(wù)器將UDP服務(wù)器的信息發(fā)送至第一終端設(shè)備和第二終端設(shè)備。
[0116]105、第一終端設(shè)備通過第二預(yù)設(shè)協(xié)議向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求。
[0117]具體的,第二預(yù)設(shè)協(xié)議為HTTP協(xié)議;
[0118]第一終端設(shè)備通過HTTP協(xié)議的POST請求向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求,其中數(shù)據(jù)傳輸通道建立請求包括相關(guān)會話參數(shù),POST請求的頭部包括Tran sf er-Encoding: chunked 字段。
[0119]106、UDP服務(wù)器建立第一終端設(shè)備與第二終端設(shè)備的數(shù)據(jù)傳輸通道。
[0120]具體的,UDP服務(wù)器向第一終端設(shè)備返回與數(shù)據(jù)傳輸通道建立請求相對應(yīng)的應(yīng)答信息,該過程可以為:
[0121]第一終端設(shè)備向UDP服務(wù)器發(fā)送HTTP GET請求;
[0122]UDP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中該HTTP響應(yīng)的頭部包括Transf er-Encoding: chunked字段,HTTP響應(yīng)的負載部分包括數(shù)據(jù)傳輸通道建立請求相對應(yīng)的應(yīng)答信息。
[0123]UDP服務(wù)器建立第一終端設(shè)備與第二終端設(shè)備的數(shù)據(jù)傳輸通道。
[0124]107、第一終端設(shè)備通過數(shù)據(jù)傳輸通道,向第二終端設(shè)備發(fā)送數(shù)據(jù)。
[0125]步驟107為可選的步驟。
[0126]可選的,在步驟107之前,本發(fā)明實施例所提供的方法還可以包括:
[0127]第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議從TCP服務(wù)器中獲取第二終端設(shè)備根據(jù)呼叫請求報文返回的呼叫響應(yīng)報文。
[0128]本發(fā)明實施例提供了一種穿越防火墻的方法,在內(nèi)網(wǎng)的第一終端設(shè)備不能成功登錄TCP服務(wù)器時,由于防火墻允許HTTP協(xié)議的數(shù)據(jù)包通過,且開放了http80和/Shttp 8080端口,因此能夠使內(nèi)網(wǎng)的第一終端設(shè)備通過將注冊請求進行封裝為HTTP協(xié)議向TCP服務(wù)器進行注冊,以使第一終端設(shè)備能夠成功登錄TCP服務(wù)器;然后通過第一終端設(shè)備的封裝為HTTP協(xié)議的呼叫請求報文向TCP服務(wù)器發(fā)送呼叫第二終端設(shè)備的呼叫請求報文,以及根據(jù)第一終端設(shè)備通過獲取TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息向UDP服務(wù)器發(fā)送封裝為HTTP協(xié)議的數(shù)據(jù)傳輸通道建立請求報文,通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,使內(nèi)網(wǎng)終端與外網(wǎng)終端之間能夠進行數(shù)據(jù)傳輸,實現(xiàn)了穿越嚴格限制的防火墻進行數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦合度。
[0129]實施例二為本發(fā)明實施例提供的一種穿越防火墻的方法,參照圖2所示,該方法包括:
[0130]201、通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,第一預(yù)設(shè)協(xié)議報文的頭部包括與TCP服務(wù)器保持連接的字段,第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文,以使TCP服務(wù)器根據(jù)注冊請求報文進行注冊。
[0131]具體地,第一預(yù)設(shè)協(xié)議為HTTP協(xié)議;
[0132]通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,POST請求的頭部包括 Transf er-Encoding: chunked 字段。
[0133]其中,Transfer-Encoding:chunked字段是HTTP協(xié)議中的一種數(shù)據(jù)傳輸機制,允許HTTP協(xié)議中的數(shù)據(jù)可以分成多個部分,通過將數(shù)據(jù)分解成一系列數(shù)據(jù)塊,并以一個或多個塊發(fā)送,這樣HTTP協(xié)議數(shù)據(jù)在發(fā)送時可以不需要預(yù)先知道數(shù)據(jù)內(nèi)容的總大小。
[0134]202、通過第一預(yù)設(shè)協(xié)議從TCP服務(wù)器獲取注冊應(yīng)答報文。
[0135]具體的,通過HTTP協(xié)議中的GET請求從TCP服務(wù)器中獲取注冊應(yīng)答報文,注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段,該過程可以為:
[0136]發(fā)送HTTP GET請求至TCP服務(wù)器;
[0137]接收TCP服務(wù)器通過HTTP協(xié)議返回的針對HTTP GET請求的注冊應(yīng)答報文,其中該注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段,注冊響應(yīng)的負載部分包括注冊是否成功的應(yīng)答信息。
[0138]值得注意的是,當(dāng)接收TCP服務(wù)器返回注冊成功的應(yīng)答信息后,才執(zhí)行步驟203;否貝1J,結(jié)束或者返回步驟201。
[0139]203、通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送呼叫請求報文,以使TCP服務(wù)器向其他終端設(shè)備轉(zhuǎn)發(fā)呼叫請求報文。
[0140]204、接收TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息。
[0141 ] 205、通過第二預(yù)設(shè)協(xié)議向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文。
[0142]具體的,第二預(yù)設(shè)協(xié)議為HTTP協(xié)議;
[0143]通過HTTP協(xié)議的POST請求向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文,其中數(shù)據(jù)傳輸通道建立請求報文包括相關(guān)會話參數(shù),POST請求的頭部包括Transfer-Encoding:chunked 字段。
[0144]206、通過第二預(yù)設(shè)協(xié)議從UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文。
[0145]具體的,通過HTTP協(xié)議中的GET請求從UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文,數(shù)據(jù)傳輸通道建立應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0146]207、通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,向其他終端設(shè)備發(fā)送數(shù)據(jù)。
[0147]步驟207為可選步驟。
[0148]可選的,在步驟207之前,本發(fā)明實施例所提供的方法還可以包括:
[0149]通過第一預(yù)設(shè)協(xié)議從TCP服務(wù)器中獲取其他終端設(shè)備根據(jù)呼叫請求報文返回的呼叫響應(yīng)報文。
[0150]本發(fā)明實施例提供了一種穿越防火墻的方法,當(dāng)內(nèi)網(wǎng)的發(fā)起方不能成功登錄TCP服務(wù)器時,由于防火墻允許HTTP協(xié)議的數(shù)據(jù)包通過,且開放了http 80和/Shttp 8080端口,因此能夠使內(nèi)網(wǎng)的發(fā)起方通過將注冊請求進行封裝為HTTP協(xié)議向TCP服務(wù)器進行注冊,以使發(fā)起方能夠成功登錄TCP服務(wù)器;然后通過發(fā)起方的封裝為HTTP協(xié)議的呼叫請求報文向TCP服務(wù)器發(fā)送呼叫其他終端設(shè)備的呼叫請求報文,以及根據(jù)發(fā)起方通過獲取TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息向UDP服務(wù)器發(fā)送封裝為HTTP協(xié)議的數(shù)據(jù)傳輸通道建立請求報文,通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,使內(nèi)網(wǎng)的發(fā)起方與外網(wǎng)的其他終端設(shè)備之間能夠進行數(shù)據(jù)傳輸,實現(xiàn)穿越防火墻,提高了數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦合度
[0151]實施例三為本發(fā)明實施例提供的一種穿越防火墻的方法,在本發(fā)明實施例中,在第一終端設(shè)備向TCP服務(wù)器發(fā)送呼叫第二終端設(shè)備的呼叫請求報文后,TCP服務(wù)器分別向第一終端設(shè)備和第二終端設(shè)備發(fā)送UDP服務(wù)器的信息,通過第一終端設(shè)備和第二終端設(shè)備分別向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文,使UDP服務(wù)器建立數(shù)據(jù)傳輸通道。參照圖3所示,該方法包括:
[0152]301、第一終端設(shè)備通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送HTTP協(xié)議報文,POST請求的頭部包括Transfer-Encoding: chunked字段,POST請求的負載部分包括注冊請求報文。在步驟301之后,執(zhí)行步驟302。
[0153]具體的,第一終端設(shè)備位于防火墻之后,第一終端設(shè)備包括臺式計算機、個人計算機、膝上性計算機、手機、個人數(shù)字助理等。POST請求的頭部包括的Transfer-Encoding:chunked字段,其中,Transfer-Encoding:chunked字段是HTTP協(xié)議中的一種數(shù)據(jù)傳輸機制,允許HTTP協(xié)議中的數(shù)據(jù)可以分成多個部分,通過將數(shù)據(jù)分解成一系列數(shù)據(jù)塊,并以一個或多個塊發(fā)送,這樣HTTP協(xié)議數(shù)據(jù)在發(fā)送時可以不需要預(yù)先知道數(shù)據(jù)內(nèi)容的總大小。注冊請求報文包括第一終端設(shè)備的地址信息和身份標識號碼信息等,其中,第一終端設(shè)備的身份標識號碼信息可以是產(chǎn)品類型和產(chǎn)品序列號信息的組合,也可以是其它標識第一終端設(shè)備的信息。
[0154]302、TCP服務(wù)器根據(jù)注冊請求報文進行注冊,并通過HTTP協(xié)議向第一終端設(shè)備返回注冊確認報文。在步驟302之后,執(zhí)行步驟303。
[0155]具體的,TCP服務(wù)器在接收第一終端設(shè)備的注冊請求報文后,根據(jù)注冊請求報文的信息進行驗證第一終端設(shè)備的身份是否合法,如果第一終端的身份不合法,則TCP服務(wù)器不進行注冊,并通過HTTP協(xié)議向第一終端設(shè)備返回用于指示注冊失敗的注冊確認報文,該通過HTTP協(xié)議向第一終端設(shè)備返回用于指示注冊失敗的注冊確認報文的過程可以為:
[0156]第一終端設(shè)備向TCP服務(wù)器發(fā)送HTTP GET請求;
[0157]TCP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中,該HTTP響應(yīng)的頭部包括Transfer-Encoding: chunked字段,該HTTP響應(yīng)的負載部分包括用于指示注冊失敗的注冊確認報文。
[0158]本發(fā)明實施例對具體的驗證過程不加以限定。
[0159]如果第一終端設(shè)備的身份合法,則TCP服務(wù)器根據(jù)注冊請求報文進行注冊,該注冊過程可以是:
[0160]TCP服務(wù)器根據(jù)注冊請求報文,進行查詢與該注冊請求報文對應(yīng)的業(yè)務(wù)數(shù)據(jù)。如果查詢成功,則TCP服務(wù)器根據(jù)所查詢到的業(yè)務(wù)數(shù)據(jù)進行注冊。
[0161]TCP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回用于指示注冊成功的注冊確認報文,該過程可以為:
[0162]第一終端設(shè)備向TCP服務(wù)器發(fā)送HTTP GET請求;
[0163]TCP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中,該HTTP響應(yīng)的頭部包括Transfer-Encoding: chunked字段,該HTTP響應(yīng)的負載部分包括用于指示注冊成功的注冊確認報文。
[0164]可選的,在實際應(yīng)用中,若第一終端設(shè)備在預(yù)設(shè)時間內(nèi)未接收到TCP服務(wù)器返回的注冊確認報文,則可以重新通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送HTTP協(xié)議報文,直至接收到TCP服務(wù)器返回的注冊確認報文。
[0165]值得注意的是,當(dāng)TCP服務(wù)器返回用于指示注冊成功的注冊確認報文后,才執(zhí)行步驟303;否則,結(jié)束或者返回步驟301。
[0166]303、第一終端設(shè)備通過HTTP協(xié)議向TCP服務(wù)器發(fā)送呼叫請求報文,以使TCP服務(wù)器向第二終端設(shè)備轉(zhuǎn)發(fā)呼叫請求報文。在步驟303之后,執(zhí)行步驟304。
[0167]具體的,該過程可以為:
[0168]第一終端設(shè)備通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送呼叫請求報文,POST請求的頭部包括Transfer-Encoding: chunked字段,POST請求的負載部分包括呼叫請求報文,該呼叫請求報文包括第一終端設(shè)備的地址信息和第二終端設(shè)備的地址信息;
[0169]TCP服務(wù)器根據(jù)呼叫請求報文所包括的第二終端設(shè)備的地址信息,將該呼叫請求報文發(fā)送至第二終端設(shè)備。
[0170]其中,第二終端設(shè)備屬于外網(wǎng)終端,第二終端設(shè)備包括臺式計算機、個人計算機、膝上性計算機、手機、個人數(shù)字助理等。
[0171]304、TCP服務(wù)器獲取所有可用的UDP服務(wù)器的網(wǎng)絡(luò)參數(shù)。在步驟304之后,執(zhí)行步驟305。
[0172]具體的,TCP服務(wù)器監(jiān)控所有可用的UDP服務(wù)器,獲取所有可用的UDP服務(wù)器的周期性上報的網(wǎng)絡(luò)參數(shù),其中網(wǎng)絡(luò)參數(shù)用于描述UDP服務(wù)器的數(shù)據(jù)處理能力。本發(fā)明實施例對具體的獲取方式不加以限定。
[0173]305、根據(jù)網(wǎng)絡(luò)參數(shù),TCP服務(wù)器篩選出網(wǎng)絡(luò)參數(shù)最優(yōu)的UDP服務(wù)器。在步驟305之后,執(zhí)彳丁步驟306。
[0174]具體的,本發(fā)明實施例對具體的篩選過程不加以限定。
[0175]306、TCP服務(wù)器將UDP服務(wù)器的信息發(fā)送至第一終端設(shè)備和第二終端設(shè)備,其中UDP服務(wù)器的信息至少包括UDP服務(wù)器的IP地址和端口號。在步驟306之后,執(zhí)行步驟307。
[0176]具體的,該過程可以為:
[0177]當(dāng)?shù)诙K端設(shè)備設(shè)有防火墻時,第一終端設(shè)備和第二終端設(shè)備分別向TCP服務(wù)器發(fā)送HTTP GET請求;
[0178]TCP服務(wù)器通過HTTP協(xié)議分別向第一終端設(shè)備和第二終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中該HTTP響應(yīng)的頭部包括Transf er-Encoding: chunked字段,HTTP響應(yīng)的負載部分包括UDP服務(wù)器的信息。
[0179]當(dāng)?shù)诙K端設(shè)備未設(shè)有防火墻時,第一終端設(shè)備向TCP服務(wù)器發(fā)送HTTPGET請求;
[0180]TCP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中該HTTP響應(yīng)的頭部包括Transfer-Encoding: chunked字段,HTTP響應(yīng)的負載部分包括UDP服務(wù)器的信息。
[0181]TCP服務(wù)器將UDP服務(wù)器的信息發(fā)送至第一終端設(shè)備和第二終端設(shè)備。
[0182]值得注意的是,步驟304至步驟306是實現(xiàn)TCP服務(wù)器向第一終端設(shè)備和第二終端設(shè)備發(fā)送UDP服務(wù)器的信息的過程,除了步驟的方式之外,還可以通過其他方式實現(xiàn)該過程,本發(fā)明實施例對具體的方式不加以限定。
[0183]307、第一終端設(shè)備通過HTTP協(xié)議的POST請求向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求,其中數(shù)據(jù)傳輸通道建立請求包括相關(guān)會話參數(shù),POST請求的頭部包括Transf er-Encoding: chunked 字段。 在步驟 307之后 ,執(zhí)行步驟 308。
[0184]具體的,第一終端設(shè)備根據(jù)UDP服務(wù)器的IP地址和端口號通過HTTP協(xié)議的POST請求向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求,其中數(shù)據(jù)傳輸通道建立請求包括相關(guān)會話參數(shù),該相關(guān)會話參數(shù)包括房間號(room ID)和第一終端設(shè)備的用戶ID,該POST請求的頭部包括Transf er-Encoding: chunked字段。本發(fā)明實施例對具體的發(fā)送過程不加以限定。
[0185]308、UDP服務(wù)器向第一終端設(shè)備返回與數(shù)據(jù)傳輸通道建立請求相對應(yīng)的應(yīng)答信息。在步驟308之后,執(zhí)行步驟309。
[0186]具體的,UDP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回HTTP響應(yīng),其消息頭部包括Transfer-Encoding: chunked字段,并在其中攜帶與數(shù)據(jù)傳輸通道建立請求相對應(yīng)的應(yīng)答信息,該過程可以為:
[0187]第一終端設(shè)備向UDP服務(wù)器發(fā)送HTTP GET請求;
[0188]UDP服務(wù)器通過HTTP協(xié)議向第一終端設(shè)備返回針對HTTP GET請求的HTTP響應(yīng),其中該HTTP響應(yīng)的頭部包括Transf er-Encoding: chunked字段,HTTP響應(yīng)的負載部分包括數(shù)據(jù)傳輸通道建立請求相對應(yīng)的應(yīng)答信息。
[0189]上述實現(xiàn)過程僅僅是示例性的,本發(fā)明實施例對具體的實現(xiàn)過程不加以限定。
[0190]309、UDP服務(wù)器建立第一終端設(shè)備與第二終端設(shè)備的數(shù)據(jù)傳輸通道。在步驟309之后,執(zhí)彳T步驟310。
[0191]具體的,UDP服務(wù)器分別根據(jù)第一終端設(shè)備的相關(guān)會話參數(shù)和第二終端設(shè)備的相關(guān)會話參數(shù)地址消息,建立第一終端設(shè)備與第二終端設(shè)備的數(shù)據(jù)傳輸通道。
[0192]本發(fā)明實施例對具體的建立方式不加以限定。
[0193]310、第一終端設(shè)備通過HTTP協(xié)議從TCP服務(wù)器中獲取第二終端設(shè)備根據(jù)呼叫請求報文返回的呼叫響應(yīng)報文。在步驟310之后,執(zhí)行步驟311。
[0194]具體的,該呼叫響應(yīng)報文用于指示第二終端設(shè)備同意第一終端設(shè)備的數(shù)據(jù)傳輸請求,并指示第一終端設(shè)備可以通過數(shù)據(jù)傳輸通道,向第二終端設(shè)備傳輸數(shù)據(jù)。本發(fā)明實施例對具體的獲取方式不加以限定。
[0195]311、第一終端設(shè)備通過數(shù)據(jù)傳輸通道,向第二終端設(shè)備發(fā)送數(shù)據(jù)。
[0196]具體的,本發(fā)明實施例對具體的發(fā)送過程不加以限定。
[0197]值得注意的是,步驟310和步驟311是可選步驟。
[0198]本發(fā)明實施例提供了一種穿越防火墻的方法,當(dāng)向第二終端設(shè)備發(fā)起視頻請求的第一終端設(shè)備不能成功登錄TCP服務(wù)器時,由于TCP服務(wù)器允許HTTP協(xié)議報文通過,且開放了http 80和/Shttp 8080端口,因此第一終端設(shè)備能夠?qū)⒆哉埱蠓庋b成HTTP協(xié)議報文向TCP服務(wù)器請求進行注冊,以及第一終端設(shè)備能夠?qū)⒑艚械诙K端設(shè)備的呼叫請求報文封裝成HTTP協(xié)議報文發(fā)送給TCP服務(wù)器,以及第一終端設(shè)備和第二終端設(shè)備通過接收TCP月艮務(wù)器的信息分別向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文,通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,使位于內(nèi)網(wǎng)的第一終端設(shè)備和位于外網(wǎng)的第二終端設(shè)備的之間能夠進行數(shù)據(jù)傳輸,從而實現(xiàn)穿越嚴格限制的防火墻進行數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦入畔I=I /又 O
[0199]實施例四為本發(fā)明實施例提供的一種穿越防火墻的方法,在本發(fā)明實施例中,發(fā)起方與TCP服務(wù)器進行交互,以及發(fā)起方與UDP服務(wù)器進行交互,通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道進行數(shù)據(jù)傳輸。參照圖4所示,該方法包括:
[0200]401、通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送HTTP報文,該POST請求的頭部包括Transfer-Encoding: chunked字段,該HTTP報文的負載部分包括注冊請求報文,以使TCP服務(wù)器根據(jù)注冊請求報文進行注冊。在步驟401之后,執(zhí)行步驟402。
[0201 ] 具體的,P0ST請求的頭部包括的Transfer-Encoding: chunked字段是HTTP協(xié)議中的一種數(shù)據(jù)傳輸機制,允許HTTP協(xié)議中的數(shù)據(jù)可以分成多個部分,通過將數(shù)據(jù)分解成一系列數(shù)據(jù)塊,并以一個或多個塊發(fā)送,這樣HTTP協(xié)議數(shù)據(jù)在發(fā)送時可以不需要預(yù)先知道數(shù)據(jù)內(nèi)容的總大小。注冊請求報文包括發(fā)起方的地址信息和身份標識號碼信息等,其中,發(fā)起方的身份標識號碼信息可以是產(chǎn)品類型和產(chǎn)品序列號信息的組合,也可以是其它標識發(fā)起方的信息。
[0202]402、通過HTTP協(xié)議中的GET請求從TCP服務(wù)器中獲取注冊應(yīng)答報文,注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。在步驟402之后,執(zhí)行步驟403。
[0203]具體的,TCP服務(wù)器在接收注冊請求報文后,根據(jù)注冊請求報文的信息進行驗證發(fā)起方的身份是否合法,本發(fā)明實施例對具體的驗證過程不加以限定。
[0204]如果發(fā)起方的身份不合法,則TCP服務(wù)器不進行注冊。通過HTTP協(xié)議中的GET請求從TCP服務(wù)器中獲取用于指示注冊失敗的注冊應(yīng)答報文,注冊應(yīng)答報文的頭部包括Transfer-Encoding: chunked 字段,該過程可以為:
[0205]發(fā)送HTTP GET請求至TCP服務(wù)器;
[0206]接收TCP服務(wù)器通過HTTP協(xié)議返回的針對HTTP GET請求的注冊應(yīng)答報文,其中該注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段,注冊響應(yīng)的負載部分包括用于指示注冊失敗的注冊應(yīng)答報文。
[0207]如果發(fā)起方的身份合法,則TCP服務(wù)器根據(jù)注冊請求報文進行注冊,該注冊過程可以是:
[0208]TCP服務(wù)器根據(jù)注冊請求報文,進行查詢與該注冊請求報文對應(yīng)的業(yè)務(wù)數(shù)據(jù)。如果查詢成功,則TCP服務(wù)器根據(jù)所查詢到的業(yè)務(wù)數(shù)據(jù)進行注冊。
[0209]通過HTTP協(xié)議中的GET請求從TCP服務(wù)器中獲取用于指示注冊成功的注冊應(yīng)答報文,注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段,該過程可以為:
[0210]發(fā)送HTTP GET請求至TCP服務(wù)器;
[0211]接收TCP服務(wù)器通過HTTP協(xié)議返回的針對HTTP GET請求的注冊應(yīng)答報文,其中該注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段,注冊響應(yīng)的負載部分包括用于指示注冊成功的注冊應(yīng)答報文。
[0212]可選的,在實際應(yīng)用中,若在預(yù)設(shè)時間內(nèi)未接收到TCP服務(wù)器返回的注冊確認報文,則可以重新通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送HTTP協(xié)議報文,以及向TCP月艮務(wù)器發(fā)送HTTP協(xié)議中的GET請求,直至接收到TCP服務(wù)器返回的注冊確認報文。
[0213]值得注意的是,當(dāng)接收TCP服務(wù)器返回用于指示注冊成功的注冊應(yīng)答報文后,才執(zhí)行步驟403;否則,結(jié)束或者返回步驟401。
[0214]403、通過HTTP協(xié)議向TCP服務(wù)器發(fā)送呼叫請求報文,以使TCP服務(wù)器向其他終端設(shè)備轉(zhuǎn)發(fā)呼叫請求報文。在步驟403之后,執(zhí)行步驟404。
[0215]具體的,其他終端設(shè)備屬于外網(wǎng)終端,其他終端設(shè)備包括臺式計算機、個人計算機、膝上型計算機、手機、個人數(shù)字助理等。通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送呼叫請求報文,POST請求的頭部包括Transf er-Encoding: chunked字段,POST請求的負載部分包括呼叫請求報文,該呼叫請求報文包括發(fā)起方的地址信息和其他終端設(shè)備的地址信息等。
[0216]404、接收TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息。在步驟404之后,執(zhí)行步驟405。
[0217]具體的,通過HTTP協(xié)議接收TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息,該UDP服務(wù)器是網(wǎng)絡(luò)參數(shù)最優(yōu)的UDP服務(wù)器,其中網(wǎng)絡(luò)參數(shù)用于描述UDP服務(wù)器的數(shù)據(jù)處理能力,該UDP服務(wù)器的信息至少包括UDP服務(wù)器的IP地址和端口號。本發(fā)明實施例對具體的接收方式不加以限定。
[0218]405、通過HTTP協(xié)議的POST請求向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文,其中數(shù)據(jù)傳輸通道建立請求報文包括相關(guān)會話參數(shù),POST請求的頭部包括Transf er-Encoding: chunked 字段。 在步驟 405 之后 ,執(zhí)行步驟 406。
[0219]具體的,根據(jù)UDP服務(wù)器的IP地址和端口號通過HTTP協(xié)議的POST請求向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求,其中數(shù)據(jù)傳輸通道建立請求包括相關(guān)會話參數(shù),該相關(guān)會話參數(shù)包括房間號(room ID)和發(fā)起方的用戶ID,該POST請求的頭部包括Transfer-Encoding: chunked字段。本發(fā)明實施例對具體的發(fā)送過程不加以限定。
[0220]406、通過HTTP協(xié)議中的GET請求從UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文,數(shù)據(jù)傳輸通道建立應(yīng)答報文的頭部包括Transfer-Encoding: chunked字段。在步驟406之后,執(zhí)行步驟407。
[0221 ]具體的,數(shù)據(jù)傳輸通道建立應(yīng)答報文用于指示UDP服務(wù)器建立數(shù)據(jù)傳輸通道。本發(fā)明實施例對具體的獲取過程不加以限定。
[0222]407、通過HTTP協(xié)議從TCP服務(wù)器中獲取其他終端設(shè)備根據(jù)呼叫請求報文返回的呼叫響應(yīng)報文。在步驟407之后,執(zhí)行步驟408。
[0223]具體的,該呼叫響應(yīng)報文用于指示其他終端設(shè)備同意發(fā)起方的數(shù)據(jù)傳輸請求,并指示發(fā)起方可以通過數(shù)據(jù)傳輸通道,向其他終端設(shè)備傳輸數(shù)據(jù)。本發(fā)明實施例對具體的獲取方式不加以限定。
[0224]408、通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,向其他終端設(shè)備發(fā)送數(shù)據(jù)。
[0225]具體的,本發(fā)明實施例對具體的發(fā)送過程不加以限定。
[0226]值得注意的是,步驟407至步驟408是可選步驟。
[0227]本發(fā)明實施例提供了一種穿越防火墻的方法,當(dāng)內(nèi)網(wǎng)的發(fā)起方不能成功登錄TCP服務(wù)器時,由于防火墻允許HTTP協(xié)議的數(shù)據(jù)包通過,且開放了http 80和/Shttp 8080端口,因此能夠使內(nèi)網(wǎng)的發(fā)起方通過將注冊請求進行封裝為HTTP協(xié)議向TCP服務(wù)器進行注冊,以使發(fā)起方能夠成功登錄TCP服務(wù)器;然后通過發(fā)起方的封裝為HTTP協(xié)議的呼叫請求報文向TCP服務(wù)器發(fā)送呼叫其他終端設(shè)備的呼叫請求報文,以及根據(jù)發(fā)起方通過獲取TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息向UDP服務(wù)器發(fā)送封裝為HTTP協(xié)議的數(shù)據(jù)傳輸通道建立請求報文,通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,使內(nèi)網(wǎng)發(fā)起方與外網(wǎng)其他終端設(shè)備之間能夠進行數(shù)據(jù)傳輸,實現(xiàn)穿越嚴格限制的防火墻進行數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦入畔I=I /又 O
[0228]實施例五為本發(fā)明實施例提供的一種電子設(shè)備,參照圖5所不,該電子設(shè)備包括:
[0229]第一發(fā)送模塊501,用于通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,第一預(yù)設(shè)協(xié)議報文的頭部包括與TCP服務(wù)器保持連接的字段,第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文,以使TCP服務(wù)器根據(jù)注冊請求報文進行注冊;
[0230]第一接收模塊502,用于通過第一預(yù)設(shè)協(xié)議從TCP服務(wù)器獲取注冊應(yīng)答報文;
[0231]第二發(fā)送模塊503,用于通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送呼叫請求報文,以使TCP服務(wù)器向其他終端設(shè)備轉(zhuǎn)發(fā)呼叫請求報文;
[0232]第二接收模塊504,用于接收TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息;
[0233]第三發(fā)送模塊505,用于通過第二預(yù)設(shè)協(xié)議向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文;
[0234]第三接收模塊506,用于通過第二預(yù)設(shè)協(xié)議從UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文。
[0235]可選的,第一發(fā)送模塊501具體用于:
[0236]第一預(yù)設(shè)協(xié)議為HTTP協(xié)議,通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,POST請求的頭部包括Transfer-Encoding: chunked字段。
[0237]可選的,第一接收模塊502具體用于:
[0238]通過HTTP協(xié)議中的GET請求從TCP服務(wù)器中獲取注冊應(yīng)答報文,注冊應(yīng)答報文的頭部包括 Transf er-Encoding: chunked 字段。
[0239]可選的,第三發(fā)送模塊505具體用于:
[0240]第二預(yù)設(shè)協(xié)議為HTTP協(xié)議,通過HTTP協(xié)議的POST請求向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文,其中數(shù)據(jù)傳輸通道建立請求報文包括相關(guān)會話參數(shù),POST請求的頭部包括 Transf er-Encoding: chunked 字段。
[0241 ]可選的,第三接收模塊506具體用于:
[0242]通過HTTP協(xié)議中的GET請求從UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文,數(shù)據(jù)傳輸通道建立應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0243]可選的,第三發(fā)送模塊505還具體用于通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,向其他終端設(shè)備發(fā)送數(shù)據(jù)。
[0244]可選的,第二接收模塊504還用于通過第一預(yù)設(shè)協(xié)議從TCP服務(wù)器中獲取其他終端設(shè)備根據(jù)呼叫請求報文返回的呼叫響應(yīng)報文。
[0245]本發(fā)明實施例提供了一種電子設(shè)備,該電子設(shè)備將注冊請求進行封裝為HTTP協(xié)議向TCP服務(wù)器進行注冊,以便能夠成功登錄TCP服務(wù)器;然后該電子設(shè)備向TCP服務(wù)器發(fā)送呼叫其他終端設(shè)備的呼叫請求報文,以及通過獲取TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息,向UDP服務(wù)器發(fā)送封裝為HTTP協(xié)議的數(shù)據(jù)傳輸通道建立請求報文,通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,使該電子設(shè)備與外網(wǎng)其他終端設(shè)備之間能夠進行數(shù)據(jù)傳輸,實現(xiàn)了穿越嚴格限制的防火墻進行數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦合度。
[0246]實施例六為本發(fā)明實施例提供的一種電子設(shè)備,參照圖6所示,該電子設(shè)備包括發(fā)送/接收模塊61、存儲器62以及與發(fā)送/接收模塊61、存儲器62連接的處理器63,其中,存儲器62用于存儲一組程序代碼,處理器63調(diào)用存儲器62所存儲的程序代碼用于執(zhí)行以下操作:
[0247]控制發(fā)送/接收模塊61通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,第一預(yù)設(shè)協(xié)議報文的頭部包括與TCP服務(wù)器保持連接的字段,第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文,以使TCP服務(wù)器根據(jù)注冊請求報文進行注冊;
[0248]控制發(fā)送/接收模塊61通過第一預(yù)設(shè)協(xié)議從TCP服務(wù)器獲取注冊應(yīng)答報文;
[0249]控制發(fā)送/接收模塊61通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送呼叫請求報文,以使TCP服務(wù)器向其他終端設(shè)備轉(zhuǎn)發(fā)呼叫請求報文;
[0250]控制發(fā)送/接收模塊61接收TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息;
[0251]控制發(fā)送/接收模塊61通過第二預(yù)設(shè)協(xié)議向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文;
[0252]控制發(fā)送/接收模塊61通過第二預(yù)設(shè)協(xié)議從UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文。
[0253]可選的,該處理器63調(diào)用存儲器62所存儲的程序代碼用于執(zhí)行以下操作:
[0254]第一預(yù)設(shè)協(xié)議為HTTP協(xié)議,控制發(fā)送/接收模塊61通過HTTP協(xié)議中的POST請求向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,POST請求的頭部包括Transfer-Encoding: chunked字段。
[0255]可選的,該處理器63調(diào)用存儲器62所存儲的程序代碼用于執(zhí)行以下操作:
[0256]控制發(fā)送/接收模塊61通過HTTP協(xié)議中的GET請求從TCP服務(wù)器中獲取注冊應(yīng)答報文,注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0257]可選的,該處理器63調(diào)用存儲器62所存儲的程序代碼用于執(zhí)行以下操作:
[0258]第二預(yù)設(shè)協(xié)議為HTTP協(xié)議,控制發(fā)送/接收模塊61通過HTTP協(xié)議的POST請求向UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文,其中數(shù)據(jù)傳輸通道建立請求報文包括相關(guān)會話參數(shù),POST請求的頭部包括 Transf er-Encoding: chunked 字段。
[0259]可選的,該處理器63調(diào)用存儲器62所存儲的程序代碼用于執(zhí)行以下操作:
[0260]控制發(fā)送/接收模塊61通過HTTP協(xié)議中的GET請求從UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文,數(shù)據(jù)傳輸通道建立應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
[0261]可選的,該處理器63調(diào)用存儲器62所存儲的程序代碼用于執(zhí)行以下操作:
[0262]控制發(fā)送/接收模塊61通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,向其他終端設(shè)備發(fā)送數(shù)據(jù)。
[0263]可選的,該處理器63調(diào)用存儲器62所存儲的程序代碼用于執(zhí)行以下操作:
[0264]控制發(fā)送/接收模塊61通過第一預(yù)設(shè)協(xié)議從TCP服務(wù)器中獲取其他終端設(shè)備根據(jù)呼叫請求報文返回的呼叫響應(yīng)報文。
[0265]本發(fā)明實施例提供了一種電子設(shè)備,該電子設(shè)備將注冊請求進行封裝為HTTP協(xié)議向TCP服務(wù)器進行注冊,以便能夠成功登錄TCP服務(wù)器;然后該電子設(shè)備向TCP服務(wù)器發(fā)送呼叫其他終端設(shè)備的呼叫請求報文,以及通過獲取TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息,向UDP服務(wù)器發(fā)送封裝為HTTP協(xié)議的數(shù)據(jù)傳輸通道建立請求報文,通過UDP服務(wù)器建立的數(shù)據(jù)傳輸通道,使該電子設(shè)備與外網(wǎng)其他終端設(shè)備之間能夠進行數(shù)據(jù)傳輸,實現(xiàn)了穿越嚴格限制的防火墻進行數(shù)據(jù)傳輸,提高了數(shù)據(jù)傳輸?shù)撵`活度、兼容性和耦合度。
[0266]上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實施例,此處不再--贅述。
[0267]需要說明的是:上述實施例提供的電子設(shè)備在執(zhí)行穿越防火墻的方法時,僅以上述各功能設(shè)備的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能設(shè)備完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能設(shè)備,以完成以上描述的全部或者部分功能。另外,上述實施例提供的電子設(shè)備與穿越防火墻的方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
[0268]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0269]以上僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種穿越防火墻的方法,其特征在于,所述方法包括: 第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,所述第一預(yù)設(shè)協(xié)議報文的頭部包括所述第一終端設(shè)備與所述TCP服務(wù)器保持連接的字段,所述第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文; 所述TCP服務(wù)器根據(jù)所述注冊請求報文進行注冊,并通過所述第一預(yù)設(shè)協(xié)議向所述第一終端設(shè)備返回注冊確認報文; 所述第一終端設(shè)備通過所述第一預(yù)設(shè)協(xié)議向所述TCP服務(wù)器發(fā)送呼叫請求報文,以使所述TCP服務(wù)器向第二終端設(shè)備轉(zhuǎn)發(fā)所述呼叫請求報文; 所述TCP服務(wù)器獲取UDP服務(wù)器,并將所述UDP服務(wù)器的信息發(fā)送至所述第一終端設(shè)備和所述第二終端設(shè)備; 所述第一終端設(shè)備通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求; 所述UDP服務(wù)器建立所述第一終端設(shè)備與所述第二終端設(shè)備的數(shù)據(jù)傳輸通道。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一預(yù)設(shè)協(xié)議為HTTP協(xié)議,所述第一終端設(shè)備通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文包括: 所述第一終端設(shè)備通過所述HTTP協(xié)議中的POST請求向所述TCP服務(wù)器發(fā)送所述第一預(yù)設(shè)協(xié)議報文,所述POST請求的頭部包括Transfer-Encoding: chunked字段。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述TCP服務(wù)器獲取UDP服務(wù)器,并將所述UDP服務(wù)器的信息發(fā)送至所述第一終端設(shè)備和所述第二終端設(shè)備包括: 所述TCP服務(wù)器獲取所有可用的UDP服務(wù)器的網(wǎng)絡(luò)參數(shù); 根據(jù)所述網(wǎng)絡(luò)參數(shù),所述TCP服務(wù)器篩選出網(wǎng)絡(luò)參數(shù)最優(yōu)的UDP服務(wù)器; 所述TCP服務(wù)器將所述UDP服務(wù)器的信息發(fā)送至所述第一終端設(shè)備和所述第二終端設(shè)備,其中所述UDP服務(wù)器的信息至少包括所述UDP服務(wù)器的IP地址和端口號。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二預(yù)設(shè)協(xié)議為HTTP協(xié)議,所述第一終端設(shè)備通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求包括: 所述第一終端設(shè)備通過HTTP協(xié)議的POST請求向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求,其中所述數(shù)據(jù)傳輸通道建立請求包括相關(guān)會話參數(shù),所述POST請求的頭部包括Transfer-Encoding: chunked 字段。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述UDP服務(wù)器建立所述第一終端設(shè)備與所述第二終端設(shè)備的數(shù)據(jù)傳輸通道包括: 所述UDP服務(wù)器向所述第一終端設(shè)備返回與所述數(shù)據(jù)傳輸通道建立請求相對應(yīng)的應(yīng)答信息; 所述UDP服務(wù)器建立所述第一終端設(shè)備與所述第二終端設(shè)備的數(shù)據(jù)傳輸通道。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述UDP服務(wù)器建立所述第一終端設(shè)備與所述第二終端設(shè)備的數(shù)據(jù)傳輸通道之后,所述方法還包括: 所述第一終端設(shè)備通過所述數(shù)據(jù)傳輸通道,向所述第二終端設(shè)備發(fā)送數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一終端設(shè)備通過所述數(shù)據(jù)傳輸通道,向所述第二終端設(shè)備發(fā)送數(shù)據(jù)之前,所述方法還包括: 所述第一終端設(shè)備通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器中獲取所述第二終端設(shè)備根據(jù)所述呼叫請求報文返回的呼叫響應(yīng)報文。8.一種穿越防火墻的方法,其特征在于,所述方法包括: 通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文,所述第一預(yù)設(shè)協(xié)議報文的頭部包括與所述TCP服務(wù)器保持連接的字段,所述第一預(yù)設(shè)協(xié)議報文的負載部分包括注冊請求報文,以使所述TCP服務(wù)器根據(jù)所述注冊請求報文進行注冊; 通過所述第一預(yù)設(shè)協(xié)議從所述TCP服務(wù)器獲取注冊應(yīng)答報文; 通過所述第一預(yù)設(shè)協(xié)議向所述TCP服務(wù)器發(fā)送呼叫請求報文,以使所述TCP服務(wù)器向其他終端設(shè)備轉(zhuǎn)發(fā)所述呼叫請求報文; 接收所述TCP服務(wù)器發(fā)送的UDP服務(wù)器的信息; 通過第二預(yù)設(shè)協(xié)議向所述UDP服務(wù)器發(fā)送數(shù)據(jù)傳輸通道建立請求報文; 通過所述第二預(yù)設(shè)協(xié)議從所述UDP服務(wù)器獲取數(shù)據(jù)傳輸通道建立應(yīng)答報文。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述第一預(yù)設(shè)協(xié)議為HTTP協(xié)議,所述通過第一預(yù)設(shè)協(xié)議向TCP服務(wù)器發(fā)送第一預(yù)設(shè)協(xié)議報文包括: 通過所述HTTP協(xié)議中的POST請求向所述TCP服務(wù)器發(fā)送所述第一預(yù)設(shè)協(xié)議報文,所述POST請求的頭部包括 Transfer-Encoding: chunked 字段。10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述通過所述第一預(yù)設(shè)協(xié)議從所述TCP月艮務(wù)器獲取注冊應(yīng)答報文包括: 通過所述HTTP協(xié)議中的GET請求從所述TCP服務(wù)器中獲取所述注冊應(yīng)答報文,所述注冊應(yīng)答報文的頭部包括Transf er-Encoding: chunked字段。
【文檔編號】H04L29/06GK105915534SQ201610345559
【公開日】2016年8月31日
【申請日】2016年5月23日
【發(fā)明人】楊柳
【申請人】掌贏信息科技(上海)有限公司