看板 AndroidDev 關於我們 聯絡資訊
一般建立Socket會使用以下方式 Socket socket = new Socket("192.168.1.2", 3333); 但若設備是由外部進入,則會先經過AP的port再轉到區網ip 舉例: 外部IP:220.74.3.xxx 在AP上設定port:9000轉到192.168.1.2 語法上會寫成 Socket socket = new Socket("220.74.3.xxx:9000", 3333); 則會出現 Unable to resolve host "220.74.3.xxx:9090": No address associated with hostname Socket似乎不接受IP:port的寫法, 該如何解決? -- 小陳:你有聽過樹懶叫的聲音嗎?? 小張:沒有,不過我有看過樹懶趴的時候~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.184.184 推 ArSaBuLu:我上次看Discamry 樹懶應該不會叫才對吧... 12/07 19:07 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.54.215 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1476336726.A.E7F.html
toosakarin: router設定portforwarding 10/13 14:14
cs8425: 建構子第2個參數就是port了啊 請查API說明 10/13 14:25
ssccg: NAT設定是port 9000轉到192.168.1.2:3333,對外部來說就只 10/13 14:35
ssccg: 有port 9000,沒有3333 10/13 14:35
ch8154: 要用外部IP,port也要用對外的啊,除非你的外部port 3333 10/13 15:08
ch8154: 是NAT到區網ip的3333 10/13 15:08
sohumi: 192.168.1.2是一台VM, 開放3333~4444間可以建立socket連線 10/13 15:44
sohumi: 主要是希望能達到 連線->外部ip:9000->轉到192.168.1.2 10/13 15:46
sohumi: ->在port 3333~4444間建立連線. 10/13 15:47
sohumi: 外部ip只是一個橋樑,但有多台VM,所以使用port轉送到特定VM 10/13 15:47
pttworld: 嘗試"220.74.3.xxx", 9000 10/13 16:01
ssccg: 你NAT port怎麼設,都跟外面要連上去沒有關係 10/13 21:14
ssccg: 對外就是只有9000,你在port帶3333只會變成連到router上的 10/13 21:15
ssccg: 3333 port,跟你的內網其他host的port一點關係都沒有 10/13 21:15
ssccg: 連線>外部IP:9000就是Socket(外部IP,9000) 10/13 21:17
ssccg: 接下來怎麼轉都是NAT設定的,跟連線那個Socket沒關係了 10/13 21:17