一、實驗項目
本實驗通過 TUTK P2PTunnelAPIs 建立虛擬隧道,實現(xiàn)外網(wǎng)客戶端通過 HTTP 協(xié)議訪問內(nèi)網(wǎng)設(shè)備(Ubuntu 服務(wù)器)上的多媒體文件(網(wǎng)頁、視頻等)。
文檔信息:Version: v3.4.7.3+ | 適用場景: P2PTunnel+HTTP跨網(wǎng)訪問 | 支持平臺: Linux(服務(wù)端)/Windows(客戶端)
二、實驗準備
(一)硬件環(huán)境
- 服務(wù)端:Ubuntu 22.04 系統(tǒng)電腦(模擬內(nèi)網(wǎng)多媒體服務(wù)器);
- 客戶端:Windows 系統(tǒng)電腦(外網(wǎng)訪問端,需安裝網(wǎng)頁瀏覽器)。
(二)軟件環(huán)境
- 服務(wù)端:
- Apache HTTP Server:提供HTTP訪問支持;
- TUTK P2P SDK:需包含 P2PTunnelAPIs 模塊(用于啟動Tunnel Server)。
- 客戶端:
- 網(wǎng)頁瀏覽器:如 Chrome、Edge(用于HTTP訪問);
- Xftp:可選,用于輔助管理服務(wù)端文件(如上傳多媒體文件);
- TUTK P2P SDK:需包含 P2PTunnel 客戶端 Demo(用于啟動Tunnel Agent)。
(三)前置條件
已完成 P2PTunnel 隧道打通(服務(wù)端 Tunnel Server 與客戶端 Tunnel Agent 正常連接),參考文檔:
- 設(shè)備端(服務(wù)端):《基于 P2PTunnelAPIs 和 TCPIP 協(xié)議開發(fā) NAS(或者攝像頭)-設(shè)備端》;
- APP 端(客戶端):《基于 P2PTunnelAPIs 和 TCPIP 協(xié)議開發(fā) NAS(或者攝像頭)-APP 端》。
三、實驗步驟
(一)服務(wù)端配置(內(nèi)網(wǎng) Ubuntu 22.04)
1. 安裝 Apache HTTP Server
執(zhí)行以下命令安裝并啟動 Apache 服務(wù),用于提供 HTTP 訪問支持:
sudo apt-get update
sudo apt-get install apache2 # 安裝 Apache 服務(wù)器
sudo systemctl start apache2 # 啟動服務(wù)
sudo systemctl enable apache2 # 設(shè)為開機自啟(可選)
驗證:內(nèi)網(wǎng)環(huán)境下訪問 http://localhost 或 http://內(nèi)網(wǎng)IP,若能看到 Apache 默認歡迎頁,說明 HTTP 服務(wù)啟動成功。
2. 啟動 P2PTunnel Server(隧道服務(wù)端)
參考 SDK 示例代碼啟動 Tunnel Server,流程如下:
- 進入 SDK 示例目錄:SDK目錄/Sample/Linux/Sample_P2PTunnelAPIs;
- 編譯并運行 Tunnel Server(按示例文檔配置 UID、License Key 等參數(shù));
- 確保 Tunnel Server 正常啟動,等待客戶端 Tunnel Agent 連接。
(二)客戶端配置(外網(wǎng) Windows)
1. 安裝輔助工具(可選)
安裝 Xftp 軟件(用于輔助管理服務(wù)端文件,如上傳多媒體文件到 Apache 根目錄,安裝流程略)。
2. 啟動 P2PTunnel Agent(隧道客戶端)
參考 SDK 示例代碼啟動 Tunnel Agent,流程如下:
- 進入 SDK 示例目錄:SDK目錄/Sample/Windows/Sample_P2PTunnel(可聯(lián)系官方獲取編譯好的客戶端程序);
- 運行客戶端 Demo,輸入服務(wù)端設(shè)備 UID、認證信息,建立 P2PTunnel 隧道連接;
- 隧道連接成功后,配置端口映射(核心步驟)。
四、端口映射與訪問配置(核心步驟)
HTTP 協(xié)議默認使用 80 端口,內(nèi)網(wǎng)環(huán)境下可通過 http://內(nèi)網(wǎng)IP:80/文件路徑 訪問,但外網(wǎng)無法直接使用內(nèi)網(wǎng) IP。需通過 P2PTunnel 做端口映射,將內(nèi)網(wǎng)服務(wù)端的 80 端口映射到客戶端本地端口。
映射規(guī)則:客戶端本地端口(如 10002) ? P2PTunnel 隧道 ? 服務(wù)端 80 端口(Apache 服務(wù)端口)

圖 1:客戶端 P2PTunnel Agent 端口映射配置(本地 10002 映射服務(wù)端 80 端口)
五、外網(wǎng)訪問測試
1. 瀏覽器訪問網(wǎng)頁
打開客戶端網(wǎng)頁瀏覽器,輸入訪問地址:
http://127.0.0.1:10002/html
說明:127.0.0.1 是客戶端本地回環(huán)地址,10002 是映射的本地端口,html 是服務(wù)端 Apache 根目錄下的網(wǎng)頁文件夾。

圖 2:外網(wǎng)訪問內(nèi)網(wǎng)網(wǎng)頁文件成功
2. 訪問多媒體目錄
輸入目錄訪問地址,查看服務(wù)端多媒體文件列表:
http://127.0.0.1:10002/myubuntu
說明:myubuntu 是服務(wù)端 Apache 根目錄下的多媒體文件夾,包含 MP4 視頻等文件。

圖 3:外網(wǎng)訪問內(nèi)網(wǎng)多媒體目錄成功
3. 播放多媒體文件
點擊目錄中的 MP4 文件,瀏覽器將通過 HTTP 協(xié)議+P2PTunnel 隧道加載并播放內(nèi)網(wǎng)視頻文件:

圖 4:外網(wǎng)播放內(nèi)網(wǎng) MP4 視頻成功
