首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android UDP NetworkReceiver在WI-FI上未接收任何数据

Android UDP NetworkReceiver在WI-FI上未接收任何数据
EN

Stack Overflow用户
提问于 2013-08-17 01:31:39
回答 1查看 383关注 0票数 0

以下代码在android中试用过,它不使用直接WI-FI接收任何数据,这意味着发送者(桌面应用程序)和Android应用程序都在同一网络上。发送者应用程序知道WI-FI平板电脑的to地址,并将数据发送到该地址。

但是,下面的代码可以很好地将其作为独立的java应用程序运行。接收代码不使用InetAddress地址;它在安卓中是必需的吗?谁能发布通过WI-FI接收udp数据的例子。

发送者在知道平板电脑to地址的情况下将数据发送到平板电脑。发送方和接收方使用相同的端口。

我正在尝试获取数据包,并从数据包中获取内容。我不会向发送者回复任何东西。我是否需要向发送者回送任何内容。另外,我是否需要WI-FI管理器?

代码语言:javascript
复制
import java.net.DatagramSocket;
import java.net.DatagramPacket;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;

public class NetworkReceiver {

  static boolean isFinish = false;

    try {

         DatagramSocket s = new DatagramSocket(2010);
         System.out.println("setting up port");
         byte[] data = new byte[12];

        while (!isFinish) 
        {          
            System.out.println("creating datagram");
            DatagramPacket p = new DatagramPacket(data, data.length);
            s.receive(p);
            System.out.println("got packet");
            ByteBuffer bb = ByteBuffer.allocate(12).order(ByteOrder.LITTLE_ENDIAN);
            bb.put(data);
            bb.rewind();
            System.out.println(bb.getFloat());
            System.out.println(bb.getFloat());
            System.out.println(bb.getFloat());

         }
    } catch (IOException e) {
      e.printStackTrace();
    }

}
EN

回答 1

Stack Overflow用户

发布于 2013-09-25 02:34:28

但是,下面的代码可以很好地将其作为独立的java应用程序运行。

我假设您是从连接到同一个WIFI路由器的两台不同的PC上运行发送方和接收方应用程序,对吗?

我正在尝试获取数据包,并从数据包中获取内容。我不会向发送者回复任何东西。我是否需要向发送者回送任何内容。另外,我是否需要WI-FI管理器?

不,您不需要以任何方式回显或响应接收到的数据包。

您的接收器代码看起来足够好,它至少应该接收发送的第一个数据包。如果你的AndroidManifest.xml权限不允许网络访问,安卓会抱怨的。

在你确认你的发送者应用程序(你应该包括代码)真的将数据包发送到WIFI网络之前,我所能做的就是确保你能从PC连接到你的平板电脑。然后在您的发送方PC上安装Wireshark,并查看它运行时发出的UDP数据包。检查目的地址和端口。确保它们看起来像是可以到达您的平板电脑。

最后,我再次假设您没有尝试多播UDP,因为您已经在发送者中指定了平板电脑的IP地址。如果是,则需要使用WifiManager获取多播锁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18279015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档