2013-05-28 99 views
0

Netty服務器,Fedora。我只是無法從遠程主機連接到服務器,並且沒有監聽套接字通過netstat util顯示。不過,我可以在同一臺機器上建立運行客戶端和服務器的連接。這只是這樣的:Netty服務器遠程連接

port = System.getProperty(PORT_PROPERTY); 
Preconditions.checkNotNull(port, "Network error, port property is not set"); 
hostAddress = new InetSocketAddress(Integer.valueOf(port)); 
... 
serverChannel = bootstrap.bind(hostAddress); 

我已經試過初始化hostAddress只有端口,本地主機IP,IP 0.0.0.0,和我的網絡的IP。沒什麼幫助。什麼可能是問題的根源?

+0

您可以通過IP地址遠程ping netty服務器嗎? – Nicholas

+0

@Nicholas,是的,我可以成功地ping服務器。 – OneMoreVladimir

回答

1

這裏的一些建議,應該幫助disagnosing問題:

  • 爲清楚起見(直到您解決此),堅持用

new InetSocketAddress("0.0.0.0", Integer.valueOf(port))

因爲這

將確保你綁定所有接口。

  • 調用JVM與-Djava.net.preferIPv4Stack =真到JVM迫使IPV4。我發現在IPV4中這些問題比較容易,因爲它不如V6複雜。

  • 獲取JVM的PID,然後發出這樣的netstat的:

sudo netstat -ap --numeric-ports | grep <PID>

這應該顯示你的JVM實例所有插座。 (如果您仍然無法遠程連接,請發佈此輸出。同時發佈ifconfig的輸出)

+0

上帝保佑你,我現在就試試吧! – OneMoreVladimir

+0

@Nickolas,非常感謝! 如果有更多像你這樣的人,世界可能會好得多! 良好的運氣,很棒的樂趣,很有趣! – OneMoreVladimir