JAVA实现广播消息DEMO,java消息demo,[Java]代码pack
分享于 点击 33817 次 点评:101
JAVA实现广播消息DEMO,java消息demo,[Java]代码pack
[Java]代码
package cn.outofmemory.test;import java.net.DatagramPacket;import java.net.InetAddress;import java.net.MulticastSocket;public class MulticastSender { private int port; private String host; private String data; public MulticastSender(String data, String host, int port) { this.data = data; this.host = host; this.port = port; } public void send() { try { InetAddress ip = InetAddress.getByName(this.host); DatagramPacket packet = new DatagramPacket(this.data.getBytes(), this.data.length(), ip, this.port); MulticastSocket ms = new MulticastSocket(); ms.send(packet); ms.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { int port = 1234; String host = "224.0.0.1"; String data = "hello world."; MulticastSender ms = new MulticastSender(data, host, port); ms.send(); }}
[Java]代码
package test;import java.net.DatagramPacket;import java.net.InetAddress;import java.net.MulticastSocket;public class MulticastListener { private int port; private String host; public MulticastListener(String host, int port) { this.host = host; this.port = port; } public void listen() { byte[] data = new byte[256]; try { InetAddress ip = InetAddress.getByName(this.host); MulticastSocket ms = new MulticastSocket(this.port); ms.joinGroup(ip); DatagramPacket packet = new DatagramPacket(data, data.length); ms.receive(packet); String message = new String(packet.getData(), 0, packet.getLength()); System.out.println(message); ms.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { int port = 1234; String host = "224.0.0.1"; MulticastListener ml = new MulticastListener(host, port); while(true) { ml.listen(); } }}
用户点评