【问题标题】:Android receive DatagramPacketAndroid接收DatagramPacket
【发布时间】:2014-02-03 04:35:15
【问题描述】:

我看了很多页面,尝试了很多建议,但仍然无法通过设备上的 UDP 接收数据(nexus 4)。我在局域网中工作,通过 wifi(3G 已关闭)。

我有一个客户端,在 PC (192.168.1.5) 上和消费者在 Android 设备上 (192.168.1.3:54445)

这是一个客户端代码:

    String string = "hello udp";
    DatagramSocket socket = null;

    try {
        address = InetAddress.getByName("192.168.1.3");
        socket = new DatagramSocket();

        DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 54445);
        socket.send(packet);

这是一个消费者代码:

    DatagramSocket socket = null;
    stop = false;

    InetAddress address = null;

    try {
        socket = new DatagramSocket(54445);
        while (!stop) {
            byte[] buffer = new byte[minBufSize];
            DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
            socket.receive(packet);
            Log.d(this.getClass().getSimpleName(), String.valueOf(packet.getLength()));

调试器在 socket.receive(packet) 上停止。消费者在 AsyncTask 中工作。

谢谢!

【问题讨论】:

    标签: android sockets udp datagram


    【解决方案1】:

    这是我的错,先检查你的路由器设置。

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多