Eld*_*ell 18 java sockets android network-programming
任何人都可以告诉我为什么这在Android模拟器中不起作用?从浏览器我有访问权限,服务器是内部的.我能想到的是,我在我的应用程序上缺少一些配置,因此它可以访问网络层.
try {
InetAddress server = Inet4Address.getByName("thehost");
//Doesn't work either
//or InetAddress server2 = Inet4Address.getByAddress(new String("192.168.1.30").getBytes());
if(server.isReachable(5000)){
Log.d(TAG, "Ping!");
}
Socket clientsocket = new Socket(server, 8080);
} catch (UnknownHostException e) {
Log.e(TAG, "Server Not Found");
} catch (IOException e) {
Log.e(TAG, "Couldn't open socket");
}
Run Code Online (Sandbox Code Playgroud)
抛出UnknownHostException
谢谢
Ret*_*ier 32
就配置而言,从应用程序访问Internet所需的唯一设置是INTERNET权限,通过在应用程序清单中的Application标记之外添加以下行来启用.
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
因此清单将遵循这种一般结构
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.apis">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name="MyApplication"
android:label="@string/application_title"
android:icon="@drawable/my_icon">
[ .. Your Activities go here ]
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19887 次 |
| 最近记录: |