美文网首页
五 . UDP 编程

五 . UDP 编程

作者: 任未然 | 来源:发表于2019-10-11 22:38 被阅读0次

    什么是 UDP 协议

    • UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
    • UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。
    • 在 OSI 模型中的第四层——传输层,处于 IP 协议的上一层。UDP 有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP 用来支持那些需要在计算机之间传输数据的网络应用。

    UDP 编程案例

        //客户端1
        public static void main(String[] args) throws IOException {
            DatagramSocket socket = new DatagramSocket(9999);
            byte[] b = "客户端1:你好!".getBytes();
            DatagramPacket packet = new DatagramPacket(b,b.length, InetAddress.getByName("127.0.0.1"),8888);
            socket.send(packet);
    
            b = new byte[1024];
            DatagramPacket packet1 = new DatagramPacket(b, b.length);
            socket.receive(packet1);
            System.out.println(new String(packet1.getData(),0,packet1.getLength()));
        }
        
        //客户端2
        public static void main(String[] args) throws IOException {
            DatagramSocket socket = new DatagramSocket(8888);
            byte[] b = new byte[1024];
            DatagramPacket packet = new DatagramPacket(b, b.length);
            socket.receive(packet);
            System.out.println(new String(packet.getData(),0,packet.getLength()));
    
            b = "客户端2:你好鸭!".getBytes();
            DatagramPacket packet1 = new DatagramPacket(b, b.length, InetAddress.getByName("127.0.0.1"), 9999);
            socket.send(packet1);
        }
    

    相关文章

      网友评论

          本文标题:五 . UDP 编程

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