【问题标题】:How to receive Broadcast message in java如何在java中接收广播消息
【发布时间】:2019-02-26 12:24:21
【问题描述】:

我是计算机网络领域的新手,所以请多多包涵。下面是我用来从服务器通过 Internet 广播数据包的代码,但我不知道如何在客户端接收广播的消息。有人可以帮我吗?

import java.net.*;
import java.io.*;

public class broadcast_message {
    private static DatagramSocket socket = null;

    public static void main(String[] args) throws IOException {
        broadcast("Hello", InetAddress.getByName("255.255.255.255"));
        System.out.println("Sent");
    }

    public static void broadcast(String broadcastMessage, InetAddress address) throws IOException {
        socket = new DatagramSocket();
        socket.setBroadcast(true);

        byte[] buffer = broadcastMessage.getBytes();

        DatagramPacket packet 
          = new DatagramPacket(buffer, buffer.length, address, 4000);
        socket.send(packet);
        socket.close();
    }
}

【问题讨论】:

    标签: java sockets network-programming broadcasting


    【解决方案1】:

    您的代码向端口发送消息,但没有人接收。

    在发送消息之前,您需要为同一端口 (4000) 创建一个套接字侦听器,以便您的套接字侦听器接收消息。

    请参阅此帖子,例如:sending and receiving UDP packets using Java?

    【讨论】:

      【解决方案2】:

      我认为这应该会有所帮助 -

      package com.AK_Tech.MyBroadcastReceiver;
      
      import android.content.BroadcastReceiver;
      import android.content.Context;
      import android.content.Intent;
      
      public class MyBroadcastReceiver extends BroadcastReceiver {
      
          @Override
          public void onReceive(Context context, Intent intent) {
              //your code    
      }
      }
      

      【讨论】:

      • 请解释你的代码是做什么的以及它是怎么做的。
      猜你喜欢
      • 2012-09-17
      • 1970-01-01
      • 2011-04-23
      • 2010-10-26
      • 2018-02-27
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多