gpt4 book ai didi

Android客户端与jboss服务器通信

转载 作者:行者123 更新时间:2023-12-02 02:19:01 27 4
gpt4 key购买 nike

我的 android 客户端与部署在 jboss 上的 servlet 建立了 URL 连接。但是当我在模拟器中运行客户端时,似乎没有建立连接。我的客户端代码:

URL url = new URL("http://192.168.56.1:8080/hello");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
ObjectOutputStream out=new ObjectOutputStream(connection.getOutputStream());
String s=new String("success");
out.writeObject(s);
out.flush();
out.close();

jboss里面没有反应。 192.168.56.1是我机器的ip地址。由于“localhost”指的是模拟器本身,因此我使用了 192.168.56.1.(ipcofig)什么问题。

这是在我进行了建议的更改之后(即在 android manifest.xml 中授予互联网权限并将 url 更改为“http://10.0.2.2:8080/hello”以引用我的机器)。但是当我运行我的应用程序(客户端)时我仍然遇到这个异常:

ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.Client/.ClientActivity } from null (pid=-1, uid=-1) requires android.permission.INTERNET

现在它正在运行。我在 manifest 标签中添加了 in internet 权限。早些时候我已经将它添加到应用程序标签中。引用我最初的问题,在进行了所有建议的更改后,jboss 服务器 evene 仍然没有响应。模拟器和 jboss 服务器之间似乎没有建立连接。

最佳答案

因此假设您的 JBoss 服务器与您的模拟器在同一台 PC 上运行,这里您可以检查一些事项:

首先,确保您在您的网站中设置了Internet 权限 AndroidManifest.xml 作为 Thinksteep 指出:

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

其次,尝试更改 IP 地址:

URL url = new URL("http://192.168.56.1:8080/hello");

收件人:

URL url = new URL("http://10.0.2.2:8080/hello");

详情 here .本质上,这是在做假设你的 JBoss 在你的开发机器上关闭 localhost 服务(即关闭 127.0.0.1),你的模拟器应该能够通过连接这个特殊的 IP 地址。

关于Android客户端与jboss服务器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179854/

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