我的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。(ipconfig) 问题出在哪里?
这是在我进行了建议的更改之后发生的(即在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
现在已经可以工作了。我将internet权限添加到了清单标记中。早些时候,我将它添加到了应用程序标记内部。 关于我的原始问题,即使进行了所有建议的更改,jboss服务器仍然没有响应。仿真器和jboss服务器之间似乎没有建立连接。