From d0c28dcb01b61a1d07d99dee114667a7c31dd9fd Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Wed, 12 Aug 2026 16:21:07 +0800 Subject: [PATCH] =?UTF-8?q?s-day11-UDP=E7=9A=84=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s-day11/src/com/inmind/udp02/Demo02.java | 44 ++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 s-day11/src/com/inmind/udp02/Demo02.java diff --git a/s-day11/src/com/inmind/udp02/Demo02.java b/s-day11/src/com/inmind/udp02/Demo02.java new file mode 100644 index 0000000..e45fb53 --- /dev/null +++ b/s-day11/src/com/inmind/udp02/Demo02.java @@ -0,0 +1,44 @@ +package com.inmind.udp02; + +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; + +/* +UDP(印度飞饼) +1.面向无连接 +2.传输不安全 +3.传输数据有限制,64KB以内 + +在java中使用DatagramSocket来表示UDP的客户端和服务端 +构造方法 +DatagramSocket() 创建客户端的Socket对象,系统会随机分配一个端口号。 +DatagramSocket(int port) 创建服务端的Socket对象,并指定端口号。 + +常用方法: +void send(DatagramPacket p) 发送数据包 +void receive(DatagramPacket p) 使用数据包接收数据 + +DatagramPacket :数据包 +DatagramPacket(byte[] buf, int length, InetAddress address, int port) 创建发出去的数据包对象 +DatagramPacket(byte[] buf, int length) 创建接收数据的数据包对象 +int getLength() 返回要发送的数据的长度或接收到的数据的长度 + +需求:使用UDP实现快速通信,实现1发1收 + + */ +public class Demo02 { + public static void main(String[] args) throws Exception { + //1创建客户端对象(丢飞饼的阿三) + DatagramSocket socket = new DatagramSocket();//随机分配端口 + + //2.创建数据包对象,封装要发出去的数据(创建一个飞饼) + byte[] bytes = "我爱java,java爱我".getBytes(); + DatagramPacket packet = new DatagramPacket(bytes,bytes.length, InetAddress.getLocalHost(),10022); + //3.客户端正式发送这个数据包出去 + socket.send(packet); + System.out.println("客户端数据发送完毕~~"); + socket.close(); + + } +}