美文网首页
Java Udp网络编程

Java Udp网络编程

作者: 粑粑八成 | 来源:发表于2020-02-01 21:43 被阅读0次

    1、指定socket端口
    2、在发送的包中指定发送到的地址和端口
    3、发送的包中的端口必须和接受端的socket端口相同

    package UdpClient;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    import java.net.SocketException;
    
    /**
     * 发送端
     * 1、使用DatagramSocket 指定端口,创建发送端
     * 2、准备数据,一定转成字节数组
     * 3、封装成DatagramSocket包裹,需要指定目的地
     * 4、发送包裹send(DatagramSocket p)
     * 5、释放资源
     */
    public class UdpClient {
    
      public static void main(String[] args) throws Exception {
        System.out.println("发送方启动中。。。。。。");
    
        // 1、使用DatagramSocket 指定端口,创建发送端
        DatagramSocket client = new DatagramSocket(8888);
        // 2、准备数据,一定转成字节数组
        String data = "好好学习";
        byte[] datas = data.getBytes();
        // 3、封装成DatagramSocket包裹,需要指定目的地
        DatagramPacket packet = new DatagramPacket(datas, datas.length,
            new InetSocketAddress("localhost",
                9999));
        // 4、发送接收包裹receive(DatagramSocket p)
        client.send(packet);
        // 6、释放资源
        client.close();
      }
    }
    
    
    package UdpClient;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    import java.net.SocketException;
    
    /**
     * 接受端
     * 1、使用DatagramSocket 指定端口,创建接收端
     * 3、准备容器,封装成DatagramSocket包裹
     * 4、阻塞式接收包裹receive(DatagramSocket p)
     * 5、分析数据
     * byte[] getData()
     * getLength()
     * 6、释放资源
     */
    public class UdpServer {
    
      public static void main(String[] args) throws Exception {
        System.out.println("接收方启动中。。。");
        // 1、使用DatagramSocket 指定端口,创建接收端
        DatagramSocket server = new DatagramSocket(9999);
        // 2、准备容器,封装成DatagramSocket包裹
        byte[] container = new byte[1024 * 60]; // 60k
        DatagramPacket packet = new DatagramPacket(container, container.length);
        // 4、阻塞式接收包裹receive(DatagramSocket p)
        server.receive(packet);
        // 5、分析数据
        //    byte[] getData()
        //    getLength()
        byte[] datas = packet.getData();
        int len = packet.getLength();
        System.out.println(new String(datas));
        // 6、释放资源
        server.close();
      }
    }
    

    相关文章

      网友评论

          本文标题:Java Udp网络编程

          本文链接:https://www.haomeiwen.com/subject/yatfxhtx.html