我寫的代碼,其中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」的輸出設置服務器的地址(私有地址)。
如果您telnet到192.168.0.108 13299,PC可以連接到它自己嗎?可能是綁定地址或防火牆問題。 – 2012-02-19 22:13:47
是的,我可以做telnet和我關掉防火牆,但仍然相同的概率 – Adroidist 2012-02-19 22:18:29
我猜你試圖telnet來127.0.0.1/localhost而不是192.168.0.108,因爲從下面的@BrianRoach答案很可能是你的問題。 – 2012-02-19 22:23:25