2012-02-19 103 views
0

我寫的代碼,其中Android手機客戶端試圖連接到服務器上的我的電腦使用WiFi。我打開插座如下:沒有主機路由 - Android客戶端的TCP連接

try { 
    servsock = new ServerSocket(13299); 
    System.out.println("Listening :13299"); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

while (true) { 
    Socket sock = servsock.accept(); 

,並在客戶端:

Socket sock = new Socket("192.168.0.108", 13299); 
Log.i("sending","sending"); 

但是我收到的logcat的:「沒有到主機的路由」我已經搜索並插入到使用互聯網的權限在manifest.xml文件中,通過ip 192.168.0.107將IP地址爲192.168.0.108的電腦服務器ping到我的電話。

我失蹤了什麼?爲什麼不建立tcp套接字連接?服務器是用netbeans編寫的。它是否與端口有關?

編輯:我認爲問題出在IP地址。我在cmd窗口中根據「ipconfig」的輸出設置服務器的地址(私有地址)。

+0

如果您telnet到192.168.0.108 13299,PC可以連接到它自己嗎?可能是綁定地址或防火牆問題。 – 2012-02-19 22:13:47

+0

是的,我可以做telnet和我關掉防火牆,但仍然相同的概率 – Adroidist 2012-02-19 22:18:29

+0

我猜你試圖telnet來127.0.0.1/localhost而不是192.168.0.108,因爲從下面的@BrianRoach答案很可能是你的問題。 – 2012-02-19 22:23:25

回答

1

我有同樣的問題,我改變了互聯網接入點和應用程序的工作。我的應用程序使用本地IP訪問服務器。

+0

希望改變接入點 – 2017-07-05 06:13:11

0

它必須是某種堵塞,讓您的服務器的連接進行範圍爲您的客戶。嘗試應用不同的端口,然後看看會發生什麼。

+0

不,這不是:) – 2012-02-19 22:16:48

+0

我仍然無法連接,任何幫助? – Adroidist 2012-02-19 23:05:46