溫馨提示×

java怎么用UDP實(shí)時接收數(shù)據(jù)

小云
146
2023-08-19 13:47:06
欄目: 編程語言

要使用UDP實(shí)時接收數(shù)據(jù),你可以使用Java的DatagramSocket類和DatagramPacket類。以下是一個簡單的示例代碼:

import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPServer {
public static void main(String[] args) {
try {
// 創(chuàng)建一個DatagramSocket對象,指定監(jiān)聽的端口號
DatagramSocket socket = new DatagramSocket(9999);
// 創(chuàng)建一個字節(jié)數(shù)組作為接收數(shù)據(jù)的緩沖區(qū)
byte[] buffer = new byte[1024];
while (true) {
// 創(chuàng)建一個DatagramPacket對象,用于接收數(shù)據(jù)
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
// 接收數(shù)據(jù)
socket.receive(packet);
// 處理接收到的數(shù)據(jù)
String data = new String(packet.getData(), 0, packet.getLength());
System.out.println("Received: " + data);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

在這個示例中,我們創(chuàng)建了一個DatagramSocket對象來監(jiān)聽端口號9999。然后,我們創(chuàng)建一個字節(jié)數(shù)組作為接收數(shù)據(jù)的緩沖區(qū),并使用DatagramPacket對象來接收數(shù)據(jù)。接收到數(shù)據(jù)后,我們可以對其進(jìn)行處理,例如將其轉(zhuǎn)換為字符串并打印出來。

你可以根據(jù)需要修改代碼來適應(yīng)你的實(shí)際需求,例如更改監(jiān)聽的端口號、處理接收到的數(shù)據(jù)的方式等等。

0