• Java 组播


    MulticastSocketServer.java

     1 package cn.edu.buaa.multicast;
     2 
     3 import java.io.IOException;
     4 import java.net.DatagramPacket;
     5 import java.net.DatagramSocket;
     6 import java.net.InetAddress;
     7 import java.net.UnknownHostException;
     8 
     9 /**
    10  * One thing that we need to take into consideration here, is that there are
    11  * specific addresses that allow us to use a MulticastSocket are limited,
    12  * specifically in the range of 224.0.0.0 to 239.255.255.255. Some of them are
    13  * reserved, like 224.0.0.0. The address that we are using, 224.0.0.3, can be
    14  * used safely.
    15  */
    16 public class MulticastSocketServer {
    17 
    18     final static String INET_ADDR = "224.0.0.3";
    19     final static int PORT = 8888;
    20 
    21     public static void main(String[] args) throws UnknownHostException, InterruptedException {
    22         // Get the address that we are going to connect to.
    23         InetAddress addr = InetAddress.getByName(INET_ADDR);
    24 
    25         // Open a new DatagramSocket, which will be used to send the data.
    26         try (DatagramSocket serverSocket = new DatagramSocket()) {
    27             for (int i = 0; i < 5; i++) {
    28                 String msg = "Sent message no " + i;
    29 
    30                 // Create a packet that will contain the data
    31                 // (in the form of bytes) and send it.
    32                 DatagramPacket msgPacket = new DatagramPacket(msg.getBytes(), msg.getBytes().length, addr, PORT);
    33                 serverSocket.send(msgPacket);
    34 
    35                 System.out.println("Server sent packet with msg: " + msg);
    36                 Thread.sleep(500);
    37             }
    38         } catch (IOException ex) {
    39             ex.printStackTrace();
    40         }
    41     }
    42 }
    View Code

    MulticastSocketClient.java

     1 package cn.edu.buaa.multicast;
     2 
     3 import java.io.IOException;
     4 import java.net.DatagramPacket;
     5 import java.net.InetAddress;
     6 import java.net.MulticastSocket;
     7 import java.net.UnknownHostException;
     8 
     9 public class MulticastSocketClient {
    10     final static String INET_ADDR = "224.0.0.3";
    11     final static int PORT = 8888;
    12 
    13     public static void main(String[] args) throws UnknownHostException {
    14         // Get the address that we are going to connect to.
    15         InetAddress address = InetAddress.getByName(INET_ADDR);
    16 
    17         // Create a buffer of bytes, which will be used to store
    18         // the incoming bytes containing the information from the server.
    19         // Since the message is small here, 256 bytes should be enough.
    20         byte[] buf = new byte[256];
    21 
    22         // Create a new Multicast socket (that will allow other sockets/programs
    23         // to join it as well.
    24         try (MulticastSocket clientSocket = new MulticastSocket(PORT)) {
    25             // Joint the Multicast group.
    26             clientSocket.joinGroup(address);
    27 
    28             while (true) {
    29                 // Receive the information and print it.
    30                 DatagramPacket msgPacket = new DatagramPacket(buf, buf.length);
    31                 clientSocket.receive(msgPacket);
    32 
    33                 String msg = new String(buf, 0, buf.length);
    34                 System.out.println("Socket 1 received msg: " + msg);
    35             }
    36         } catch (IOException ex) {
    37             ex.printStackTrace();
    38         }
    39     }
    40 }
    View Code
  • 相关阅读:
    云南9日游攻略
    移动端和边缘端的深度学习概述
    卷积、反卷积与膨胀卷积
    语义分割简述
    数据结构与算法----2总览
    python 中easydict库解析json文件
    python命令行传参解析(二)------ConfigParser
    plt.imshow与cv2.imshow显示颜色问题
    图卷积GCN
    十、mysql 数据类型
  • 原文地址:https://www.cnblogs.com/z-sm/p/5889656.html
Copyright © 2020-2023  润新知