2011-10-10 168 views

回答

1

防火牆不會像NAT那樣干擾連接。

當您通過無線路由器連接互聯網時,您正在通過NAT進行瀏覽。這意味着你沒有真正的外部IP,但是一旦你啓動了連接,路由器就會將你的內部IP映射到他的一個外部端口,並且在特定的時間窗口,如果他將把它連接到正確的端口,他會將連接傳遞給你。

也就是說,除非您可以在路由器和內部靜態IP中配置端口轉發,否則在NAT後面沒有設置服務器的實際方法。

希望我是很清晰,運氣好的話

0

我真的不認爲你需要獲得一個HTPP服務器並在iPhone上運行,使能發送和接收消息的應用程序(IM)。讓一個iPhone用戶直接相互連接的想法對我來說並不合適,因爲用戶需要知道彼此的IP地址才能做到這一點。

聊天的不同用戶之間的互連可以通過使您的應用程序通過專用的TCP端口進行通信來解決。通常建議選擇數字高於1024的端口,因爲下面的端口通常位於所謂的well-known ports的列表中,並用於Web(如端口80),FTP(端口21),SSH(22),DNS (53)等,用戶有責任確保應用程序使用的端口在防火牆上是開放的。爲了解決這個問題,如果您發現您選擇的端口被阻塞,您實際上可以使用端口80進行通信。你可以這樣做,因爲你知道在大多數情況下這個端口不會被阻塞。據報道,當防火牆阻止其用於通信的端口時,Yahoo Messenger會使用此技術。

應用程序使用該端口連接到實際存儲用戶憑證的Web服務器,執行身份驗證,消息傳輸等,並且服務器應駐留在有能力的硬件上以支持大量同時連接。我可以建議使用VPS(如Linode提供的)或雲(如Amazon EC2,Google Application Engine,Rackspace)。

相關問題