2011-08-19 100 views
0

我試圖通過端口「xxxx」獲取數據「www.example.com」,我的IP地址是「192.168.10.6」。服務器必須通過端口「yyyy」將響應發送到我的應用程序。我向服務器發送了一個請求,但服務器將響應發送到ip「203.146.0.9」端口「yyyy」。服務器將日誌顯示爲「連接被203.146.0.9:yyyy(端口)拒絕」。iPhone中的端口訪問

我是網絡編程的初學者。據我所知,服務器將響應發送到我的DNS /路由器。不接受該端口上的通信。

我的iPhone應用程序偵聽設備的端口,而不是dns端口。如何讓我的應用程序監聽DNS端口,或者如何讓DNS將響應從特定服務器轉發到本地iP。 我經歷了一些帖子,一些指定了「Bonjour」。但我不知道這一點。任何人都可以通過指出這些例子或文檔來幫助我解決這個問題嗎?

+0

爲什麼服務器必須指定一個端口發回? – ader

+0

其PACS服務器。它爲安全目的連接對等模型。它的通信發送和接收都是通過端口發生的。 –

回答

0

簡短的回答:你不能 龍答:

當你通過你的iPhone連接到服務器,手機將請求轉發到通過3G或GPRS或其他一些協議的運營商的路由器,它轉發連接到目標服務器。在接收端,服務器看到路由器的IP地址,而不是電話。實際上,手機的IP地址只存在於運營商的路由器上,而不存在於互聯網上的其他地方。您無法從iPhone創建公共服務器(只能在本地WiFi連接上,或者運營商將電話分配給公共可路由IP地址)。因此,您無法從服務器向某個iPhone發起連接。如果您想要雙向通信,則可以使用iPhone連接到服務器,並在服務器端使用該通道將數據發送到iPhone。 NAT可能是另一種解決方案,但再一次,它需要您的運營商提供特殊條款,這可能是您的選擇,但通常不是您的客戶使用iPhone。

+0

感謝您的回覆。現在我正在堅持無線連接。我看到一些應用程序通過無線連接端口獲取數據。 –