2016-04-08 58 views
0

我試圖將我的Android應用連接到桌面服務器。問題是當我嘗試通過我的智能手機上的便攜式Wi-Fi熱點創建局域網時,一切正常,但是當我將PC和手機連接到路由器時,我有TimeOutException在Android應用程序中創建套接字。另一方面,當我通過路由器將桌面客戶端連接到桌面服務器時,它也能正常工作,所以只有當我嘗試通過路由器將移動客戶端連接到桌面服務器時纔會出現問題。爲什麼我無法從Android設備創建tcp socket到PC

客戶機代碼(Java)的:

Socket socket = new Socket(); 
socket.connect(new InetSocketAddress(ip, port), 1000); // TimeOutException 

服務器代碼(C++/QT):

QTcpServer m_tcp_server; 
// ... 
m_tcp_server->listen(QHostAddress::Any, m_port); 

IP地址和端口是正確的(100%)

UPD:

謝謝,夥計們。

這只是一個路由器問題。我測試了另一個,並沒有問題

+1

'我在TimeOutException中創建套接字'。沒有你的套接字創建好。但套接字無法連接到服務器。請告訴您使用哪個IP。 – greenapps

+0

我使用我的個人電腦的IP,我使用IPCONFIG(192.168.0.29,如果需要) – Vlad

+1

檢查或關閉防火牆 – greenapps

回答

0

嘗試檢查您已分配在Android的iPhone上的IP,如果你有路由到目標服務器IP。

是possilbe你得到不同的IP上的WiFi和不同的IP電纜。

此外,你可以嘗試一個android網絡工具來嘗試連接到服務器。

+0

我已經通過PC從Android和Android ping PC。 Ping工作正常。我還使用網絡發現(Android)掃描了PC的端口,未找到服務器的端口。當我試圖通過nmap(WIndows)掃描端口時,它說這個端口被過濾了,原因是沒有迴應,但桌面客戶端工作正常 – Vlad

相關問題