Java 为什么我不能创建从Android设备到PC的tcp套接字

Java 为什么我不能创建从Android设备到PC的tcp套接字,java,android,sockets,tcp,wifi,Java,Android,Sockets,Tcp,Wifi,我正在尝试将我的Android应用程序连接到桌面服务器。问题是,当我尝试在智能手机上通过便携式Wi-Fi热点创建局域网时,一切正常,但当我将PC和手机连接到路由器时,我遇到了TimeOutException在Android应用程序中创建套接字。另一方面,当我通过路由器将桌面客户端连接到桌面服务器时,它也可以正常工作,因此只有当我尝试通过路由器将移动客户端连接到桌面服务器时,问题才会出现 客户端代码(Java): 服务器代码(C++/Qt): ip地址和端口正确(100%) UPD: 谢谢大家 这

我正在尝试将我的Android应用程序连接到桌面服务器。问题是,当我尝试在智能手机上通过便携式Wi-Fi热点创建局域网时,一切正常,但当我将PC和手机连接到路由器时,我遇到了TimeOutException在Android应用程序中创建套接字。另一方面,当我通过路由器将桌面客户端连接到桌面服务器时,它也可以正常工作,因此只有当我尝试通过路由器将移动客户端连接到桌面服务器时,问题才会出现

客户端代码(Java):

服务器代码(C++/Qt):

ip地址和端口正确(100%)

UPD:

谢谢大家


这只是一个路由器问题。我在另一台上进行了测试,没有问题

尝试检查您在android pohone上分配的ip以及是否有到目标服务器ip的路由

您可能在wifi上获得不同的ip,通过电缆获得不同的ip


您还可以尝试使用android net工具连接到服务器。

我有一个TimeOutException,在
中创建一个套接字。不,您的套接字创建得很好。但是套接字无法连接到服务器。请告诉我您使用的ip。我使用我的电脑的ip,我使用ipconfig(192.168.0.29,如果需要)检查或关闭防火墙哪个端口号?我的电脑上没有防火墙,brandmauer关闭,路由器上的防火墙也关闭。我从安卓系统Ping了电脑,从PC系统Ping了安卓系统。Ping工作正常。我还使用网络发现(Android)扫描了PC的端口,但没有找到服务器的端口。当我试图通过nmap(WIndows)扫描端口时,它说这个端口已被过滤,原因是没有响应,但桌面客户端可以工作
Socket socket = new Socket();
socket.connect(new InetSocketAddress(ip, port), 1000); // TimeOutException
QTcpServer m_tcp_server;
// ...
m_tcp_server->listen(QHostAddress::Any, m_port);