gpt4 book ai didi

java - 无法使用主机名连接到 Android 服务器

转载 作者:行者123 更新时间:2023-11-30 01:49:54 25 4
gpt4 key购买 nike

我正在尝试制作一个连接到 Android 应用程序的 Java 应用程序。

我的电脑和手机都连接到同一个网络。

这是在我的电脑上运行的 Java 客户端:

client = new Socket("muffin", port);

System.out.println("Connected");

output = new ObjectOutputStream(client.getOutputStream());
output.flush();
input = new ObjectInputStream(client.getInputStream());

System.out.println("Streams ready");

这是用作服务器的 Android 应用程序:

server = new ServerSocket(port);
socket = server.accept();

Log.i("Server", "Connected");

output = new ObjectOutputStream(socket.getOutputStream());
output.flush();
input = new ObjectInputStream(socket.getInputStream());

在 list 中我添加了权限:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

如您所见,我正在尝试使用其主机名从我的电脑连接到 android 服务器(我将我的 android 主机名更改为“muffin”),但它没有连接并抛出异常:

java.net.UnknownHostException: muffin

如果我使用 IP 地址而不是主机名,它可以正常工作。看起来它在 LAN 上找不到名为“muffin”的设备,但是您可以从我的调制解调器页面的屏幕截图中看到该名称是正确的:

My modem page that shows connected client

也就是说,我尝试将 android 应用程序用作客户端,将 java 程序用作服务器,但看起来 android 有一些问题,因为即使使用 ip 地址而不是 ip 地址,它也没有连接到我的电脑主机名。

你知道如何解决这个问题吗?

提前致谢,抱歉我的英语不是我的母语。

最佳答案

我解决了这个问题,我必须允许特定端口上的流量通过 Windows 防火墙。

现在我可以使用它的主机名连接到 android 应用程序。

关于java - 无法使用主机名连接到 Android 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33223707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com