简单的 UDP 广播不适用于 Android Wear [英] Simple UDP Broadcast not working on Android Wear

查看:28
本文介绍了简单的 UDP 广播不适用于 Android Wear的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

All I want is my UDP broadcast to work:

    @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 中.

This code gets executed on an onClick event by a button and is inside an AsyncTask.

2次点击的日志是:

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 捕获它.

So it looks like it's working. But it's not since I can't catch it with Wireshark.

我尝试过在手机上使用 UDP 包发送器,效果很好.

What I've tried is using an UDP package sender on my phone, and that works.

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

Maybe it's because I can't send UDP packages like this on my watch? Does anyone have an idea on what to search for?

推荐答案

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

You are correct: Android Wear devices do not have access to the internet themselves: your phone app needs to handle all internet connections and forward the results to your Wearable app via the Wear Data Layer

这篇关于简单的 UDP 广播不适用于 Android Wear的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆