-
类Datagramsocket 和 DatagramPacket 实现了基于UDP协议的网络程序
-
UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不能保证数据报一定能够安全到达目的地,也不能保证什么时候可以抵达
-
DatagramPacket对象封装了UDP数据报,在数据包中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号
-
UDP协议中的每个数据报都给出了完整的地址信息,因此无需创建发送方与接收方的连接
-
发送方
package javanetwork.day2.demo2; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; /* 基于UDP协议的发送与接收 */ public class Send { public static void main(String[] args) throws IOException { DatagramSocket datagramSocket = new DatagramSocket(); byte[] b = "你好".getBytes(); //创建数据报 DatagramPacket datagramPacket = new DatagramPacket(b,b.length, InetAddress.getByName("192.168.43.194"),9999); datagramSocket.send(datagramPacket); } }
-
接收方
package javanetwork.day2.demo2; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class Receive { public static void main(String[] args) throws IOException { DatagramSocket datagramSocket = new DatagramSocket(9999); byte[] b = new byte[1024]; DatagramPacket datagramPacket = new DatagramPacket(b, b.length); //接收数据到数据报中 datagramSocket.receive(datagramPacket); String s = new String(b,0,datagramPacket.getLength()); System.out.println(s); } }
-
Java UDP编程
最新推荐文章于 2022-07-17 22:24:16 发布