java - Android 客户端应用程序无法连接到 PC 上的服务器

标签 java android sockets android-studio client-server

我遇到以下问题...我正在编写一个系统,该系统由我的电脑上的服务器端和我可爱的 ​​Xperia(又名 Android 手机)上的客户端组成。问题是,当我尝试通过客户端应用程序将手机绑定(bind)到电脑时,logcat 显示:

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

*这是我的 IP 地址,以 192 开头...

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

我的代码 fragment :

  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。

最佳答案

试试这个:打开控制面板 -> Windows Defender 防火墙 -> 允许应用程序或功能通过 Windows Defender 防火墙(左侧) -> 检查 Apache HTTP 服务器和 mysqld 的私有(private)和公共(public)网络 👍👍👍

关于java - Android 客户端应用程序无法连接到 PC 上的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36225592/

相关文章:

java - Maven 干净安装问题

java - 如何处理与 jackson hibernate 的双向一对一关系

java - Java 中的 Wordnet 相似性:JAWS、JWNL 或 Java WN::相似性?

java - 如何映射 Java 语言环境和 Lucene 分析器?

android - 如何在android中找到通过wifi直接模式传输的文件的文件名?

ruby - Ruby TCPSocket 超时是如何定义的?

android - 如何在android中创建带有重叠图像的图标?

xml - 通过菜单按钮调用首选项时强制关闭消息

Java 多线程服务器逻辑,Synchronized 关键字,问题

javascript - 帮助在多个窗口中使用 Firefox 扩展