我正在制作基于云的Android应用程序,其中我必须不时将数据从我的Android应用程序发送到我的服务器。当我使用USB线测试我的手机上的应用程序时,插座工作正常,两者(计算机和电话)都连接到同一网络。当我通过在我的计算机上运行服务器并在我的手机上运行应用程序来测试应用程序时,两者都由同一路由器连接,存在一些问题,并且没有建立连接。当应用程序在调试模式下连接电缆时,我无法弄清楚为什么会发生这种情况。 我已经为我的socket创建了一个应用程序的子类来获取任何活动的套接字。 我的客户端代码如下。
package augID.main;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Application;
import android.util.Log;
public class socketApp extends Application {
public static String serverIpAddress = "172.16.83.3";
public static int REDIRECTED_SERVERPORT = 54321;
public Socket socket;
public void onCreate(){
createConnection();
}
public void createConnection(){
Log.d("Client", "Connection");
try {
socket = new Socket(serverIpAddress, REDIRECTED_SERVERPORT);
Log.d("Client", "Connection to server made");
} catch (UnknownHostException e1) {
Log.d("server","could not connect");
e1.printStackTrace();
} catch (IOException e1) {
Log.d("server","could not connect");
e1.printStackTrace();
}
}
}
任何帮助将不胜感激。
答案 0 :(得分:0)
您的路由器或防火墙是否可能阻止连接?如果您还没有这样做,请进入您的路由器并将端口54321转发到正在运行服务器的PC。另外,抓住Wireshark并从手机中查找连接请求。
希望这有帮助。