簡體   English   中英

如何實現HTTP隧道

[英]How to implement HTTP Tunneling

我編寫了一個Flash(Flex)客戶端,該客戶端連接到后端服務器以交換數據。

我還從頭開始編寫服務器,它有兩個作用:

(1)Web(HTTP)服務器-默認情況下在端口80上偵聽

(2)套接字/應用程序服務器-默認情況下偵聽端口443

僅供參考,出於方便的原因,兩台服務器都在同一進程空間中運行。 預計它們不會處理大量負載,所以我很好。

從HTTP套接字向瀏覽器提供Flash客戶端后,客戶端便會嘗試向Socket / Application服務器打開XMLSocket。

我現在想實現HTTP隧道,以便即使用戶位於防火牆后面,我的客戶端也可以連接到Application Server。 我不想涉及任何外部服務器(代理等)-只需使用我已經擁有的服務器即可。

我的問題:

(1)為此使用端口443更好嗎? (它會更好地愚弄防火牆嗎?)

(2)據我所知,我需要做的只是確保我的實際應用程序數據簡單地封裝在客戶端和服務器端的HTTP結構中(以虛擬HTTP標頭開頭)。 是這樣還是我在這里缺少任何東西?

(3)我是否需要繼續隱藏/封裝通過套接字發送的每條消息的數據,還是在打開連接時僅封裝第一條消息?

在此先感謝大家! 模糊

不要重新發明輪子-通過AMF協議使用遠程處理。 AMF一種基於HTTP的二進制格式,用於在ActionScript(MXML)和服務器端語言之間執行序列化。 從技術上講,這是HTTP隧道。 Adobe提供了針對AS / Java的AMF的BlazeDS(開源)和LCDS(商業)實現,但是還有針對AS / PHP,AS / Python,AS / Ruby,AS / .Net的AMF第三方實現。

順便說一句,AMF是一種開源格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM