2016-04-08 145 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

相关问题