Android客户端应用未连接到PC

时间:2016-03-25 18:18:48

标签: java android sockets android-studio client-server

我有以下问题...我正在编写一个由服务器端组成的系统 - 在我的电脑上和客户端上我可爱的Xperia(a.k.a.一个Android手机)。问题是,当我尝试通过客户端应用程序将手机绑定到PC时,logcat会说:

  failed to connect to /*xxx.xxx.x.xxx (port 2002): connect failed: ETIMEDOUT (Connection timed out)

*这里是我的IP地址,它以192 ...

开头

实际上我在客户端使用了try-catch,在我设置套接字的尝试中,但问题是进程失败,我想,在catch块中进行正确创建套接字...我我在家里的Wi-Fi热点上运行这两个设备。正如我所说,我使用套接字,这可能意味着我的连接类型是TCP(?:))。请建议某种解决方案,因为我继续在论坛中阅读(这里也是如此),我越感到困惑。

剪掉了我的代码:

  public class ClientSide extends AsyncTask<String, Void, String>{

protected String doInBackground(String... params){

    final String SERVER_HOSTNAME = "xxx.xxx.x.xxx";
    final int SERVER_PORT = 2002;
    BufferedReader mSocketReader;
    PrintWriter mSocketWriter;
    final String TAG = ClientSide.class.getSimpleName();
    String data="";
    String outputln = "Me. Android";

    try {
        Socket socket = new Socket(SERVER_HOSTNAME, SERVER_PORT);
        mSocketReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        mSocketWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
        System.out.println("Connected to server " + SERVER_HOSTNAME + ":" + SERVER_PORT);

        //Reads from the socket
        data = mSocketReader.readLine();

        //Writes to the socket, a.k.a. sends info
        mSocketWriter.println(outputln);
        mSocketWriter.flush();

    } catch (IOException ioe) {
        System.err.println("Cannot connect to " + SERVER_HOSTNAME + ":" + SERVER_PORT);
        ioe.printStackTrace();

    }

    return data;
}

提前感谢您,如果您需要更多信息,我会尽力提供。我是Android开发人员的极端初学者,对不起我的英语。

*更新:服务器端应用程序是用java编写的,也是6-7个类的构建,我不会通过Apache或其中任何一个来运行。我不想只测试我的应用程序,我希望通过Wi-Fi实现真正的连接,而不是通过USB。

1 个答案:

答案 0 :(得分:1)

尝试:打开控制面板-> Windows Defender防火墙->允许应用程序或功能通过Windows Defender防火墙(在左侧)->检查Apache HTTP服务器和mysqld上的专用和公用网络 ???