接收方
- 创建DatagramSocket实例并指定端口。
- 创建DatagramPacket实例接收信息。
- 调用DatagramSocket的receive()方法将接收信息并传递给DatagramPacket。
- 通过DatagramPacket的getData()方法获取信息内容,getLength()方法获取长度。
package io.github.jast90.udp;import java.net.DatagramPacket;
import java.net.DatagramSocket;public class MyUdpRecv {public static void main(String[] args) throws Exception {DatagramSocket datagramSocket = new DatagramSocket(3000);byte[] buf = new byte[1024];DatagramPacket datagramPacket = new DatagramPacket(buf, 1024);datagramSocket.receive(datagramPacket);System.out.println(new String(datagramPacket.getData(),0,datagramPacket.getLength()));datagramSocket.close();}
}
发送方
- 创建DatagramSocket实例。
- 创建信息。
- 创建DatagramPacket实例并指定信息、信息长度、接收方ip地址及接收方端口。
- 调用DatagramSocket的send()方法发送DatagramPacket。
package io.github.jast90.udp;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class MyUdpSend {public static void main(String[] args) throws Exception {DatagramSocket datagramSocket = new DatagramSocket();String msg = "hello world";DatagramPacket datagramPacket = new DatagramPacket(msg.getBytes(), msg.length(),InetAddress.getByName("127.0.0.1"), 3000);datagramSocket.send(datagramPacket);datagramSocket.close();}
}