接收方
- 创建DatagramSocket实例并指定端口。
- 创建DatagramPacket实例接收信息。
- 调用DatagramSocket的receive()方法将接收信息并传递给DatagramPacket。
- 通过DatagramPacket的getData()方法获取信息内容,getLength()方法获取长度。
java
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。
java
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();
}
}