【问题标题】:Simple UDP Broadcast not working on Android Wear简单的 UDP 广播在 Android Wear 上不起作用
【发布时间】:2023-03-21 21:35:01
【问题描述】:

我只想让我的 UDP 广播正常工作:

    @Override
    protected String doInBackground(String[] params) {
        try {
            DatagramSocket datagramSocket = new DatagramSocket();
            datagramSocket.setBroadcast(true);
            byte[] buffer = "test".getBytes();
            DatagramPacket packet = new DatagramPacket(buffer, buffer.length, InetAddress.getByName("192.168.0.255"), 8899);
            datagramSocket.send(packet);
            System.out.println("Package sent.");
            System.out.println("Data: " + buffer);
            System.out.println("Broadcast address: " + this.broadcastAddress);
            System.out.println("--------------------------");
        } catch (Exception e) {
            System.out.println("Package not sent: " + e.getMessage());
            e.printStackTrace();
        }
        return "complete";
    }

此代码通过按钮在 onClick 事件上执行,并且位于 AsyncTask 内。

两次点击的日志是:

System.out﹕ Package sent.
System.out﹕ Data: [B@3b9b0914
System.out﹕ Broadcast address: /192.168.0.255
System.out﹕ --------------------------
System.out﹕ Package sent.
System.out﹕ Data: [B@3090d7b2
System.out﹕ Broadcast address: /192.168.0.255
System.out﹕ --------------------------

所以看起来它正在工作。但这不是因为我无法用 Wireshark 捕捉它。

我尝试过在我的手机上使用 UDP 包发送方,这很有效。

也许是因为我无法在手表上发送这样的 UDP 包?有人知道要搜索什么吗?

【问题讨论】:

    标签: java android udp wear-os


    【解决方案1】:

    您是对的:Android Wear 设备本身无法访问互联网:您的手机应用需要处理所有互联网连接并将结果通过 Wear Data Layer 转发到您的 Wearable 应用

    【讨论】:

    • 嘿,我想我是太乐观了自动同步。我想我得想办法在手机上执行代码了。
    • 如果这有助于回答您的问题,请接受答案。
    • 它帮助我写的所有东西都是垃圾。不是关于我需要如何在我的 Android Wear 设备上进行简单广播。
    猜你喜欢
    • 2011-11-20
    • 2012-11-09
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多