Java中可以使用UDP協議進行網絡通信,可以通過監聽特定的IP地址和端口號來接收UDP數據包。
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class UDPListener { public static void main(String args[]) throws Exception { //指定需要監聽的IP地址和端口號 InetAddress listenAddress = InetAddress.getLocalHost(); int listenPort = 8080; //創建DatagramSocket對象并綁定IP地址和端口號 DatagramSocket ds = new DatagramSocket(listenPort, listenAddress); //創建DatagramPacket對象用于接收數據 byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf, buf.length); //循環接收數據包 while (true) { ds.receive(dp); //將接收到的數據轉換為字符串 String message = new String(dp.getData()); //輸出接收到的數據 System.out.println("Received message: " + message); } } }
在上述代碼中,使用InetAddress類指定了需要監聽的IP地址,在本例中使用本機地址,也可以使用其它設備的地址。DatagramSocket類用于創建套接字并綁定IP地址和端口號,DatagramPacket類用于接收數據,使用循環不斷接收到數據包并將其轉換為字符串輸出。