1
我正在做一個項目,涉及到使用TCP連接到它的客戶端的服務器。在現實生活中,它可能位於防火牆/ NAT /代理之後。如何連接到防火牆/ NAT後面的我的服務器應用程序?
那麼,我將如何建立連接?
我看着TCP Hole Punching。那是這樣嗎?
是否有任何現有的庫,以便我不必從頭開始編寫代碼?
我正在做一個項目,涉及到使用TCP連接到它的客戶端的服務器。在現實生活中,它可能位於防火牆/ NAT /代理之後。如何連接到防火牆/ NAT後面的我的服務器應用程序?
那麼,我將如何建立連接?
我看着TCP Hole Punching。那是這樣嗎?
是否有任何現有的庫,以便我不必從頭開始編寫代碼?
如果你只有一臺服務器和N clientes使用TCP連接到該服務器,通常的方法是將它在防火牆/ NAT映射。因此,從外部到達某個TCP端口的所有內容都將重定向到您的服務器。
當您需要從局域網外部訪問多個客戶端(例如VoIP應用程序(Skype))時使用打孔,這樣就不需要應用程序的每個用戶都必須配置其防火牆/ NAT。
我正在做Gnutella網絡。因此存在多個客戶端和服務器。我做了一些研究自己,發現這個:http://nutss.gforge.cis.cornell.edu//stunt.php 這是否適合我的需要? – 2013-05-03 14:55:22
是特技是打孔流行的協議,你需要建立一個噱頭服務器或者使用特技服務提供商。 – pmoleri 2013-05-03 15:34:44