簡體   English   中英

Android UDP連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM