[英]Android UDP connection
因此,我正在嘗試通過UDP連接將簡單的字符串發送給朋友創建的C#應用程序。
這是我用來嘗試發送字符串的方法。
public void runUdpClient() {
String udpMsg = "ALOOOOOO ";
DatagramSocket ds = null;
try {
ds = new DatagramSocket();
InetAddress serverAddr = InetAddress.getByName("xxx.xxx.xxx.xxx");
DatagramPacket dp;
dp = new DatagramPacket(udpMsg.getBytes(), udpMsg.length(), serverAddr, 55901);
ds.send(dp);
} catch (SocketException e) {
e.printStackTrace();
}catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ds != null) {
ds.close();
}
}
}
(沒有說實際的IP,只是為了我朋友的PC的安全而將其屏蔽)
現在,我得到的錯誤如下:
05-20 14:43:44.399: E/DatabaseUtils(2347): Writing exception to parcel
05-20 14:43:44.399: E/DatabaseUtils(2347): java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
05-20 14:43:44.399: E/DatabaseUtils(2347): at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13140)
05-20 14:43:44.399: E/DatabaseUtils(2347): at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
05-20 14:43:44.399: E/DatabaseUtils(2347): at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:607)
05-20 14:43:44.399: E/DatabaseUtils(2347): at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
05-20 14:43:44.399: E/DatabaseUtils(2347): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
05-20 14:43:44.399: E/DatabaseUtils(2347): at android.os.Binder.execTransact(Binder.java:388)
05-20 14:43:44.399: E/DatabaseUtils(2347): at dalvik.system.NativeStart.run(Native Method)
現在,這是我第一次嘗試通過UDP連接發送內容,因此我可能弄亂了某些內容(?),但是我對此表示懷疑,因為我已經檢查並重新檢查了...
如果需要其他信息,請告訴我。
編輯:添加權限
<uses-permission android:name="android.permission.INTERNET"/> <usespermissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
應用程序需要必要的權限才能使用UDP發送數據。 權限在android項目的AndroidManifest.xml中定義。
如果您尚未添加其他權限,請在AndroidManifest.xml中添加以下行:
<uses-permission android:name="android.permission.INTERNET"/>
有關android中權限的更多信息,請查看android開發人員網絡: https : //developer.android.com/guide/topics/security/permissions.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.