连接外部Android应用程序到内部服务器失败

时间:2017-09-05 00:31:05

标签: android sockets networking portforwarding

我正在编写一个Android应用程序,通过我也在编写的服务器应用程序执行登录,发送消息等。我的服务器在无线局域网上。当我将Android手机连接到同一个WIFI网络时,我能够让他们成功连接。客户:

PORT = 5555;

 mSocket = new Socket();
 mSocket.setSoTimeout(500);
 SocketAddress socketAddress = new InetSocketAddress("192.168.0.111", PORT);
 mSocket.connect(socketAddress);

和服务器:

PORT = 5555;
servSock = new ServerSocket(PORT);
Socket sock = servSock.accept();

我遇到的问题是当我在局域网上安装服务器并且Android手机正在尝试使用其蜂窝数据连接进行连接时。我知道我需要设置端口转发,我已经这样做了,本地和外部的起始和结束端口设置为5555。我还在LAN上为服务器分配了静态IP。我也试图连接到路由器配置Web门户中WAN下列出的路由器IPv4地址。当我尝试这个时它仍然无效。我每次都从android客户端获得套接字超时。这可能是子网掩码的问题吗?或者我应该出于某种原因使用IPv6?我怎样才能尝试解决这个问题?提前谢谢你。

0 个答案:

没有答案