久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java怎么接收udp報文

137次閱讀
沒有評論

共計 1165 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。

要接收 UDP 報文,可以使用 Java 的 DatagramSocket 類。

首先,創(chuàng)建一個 DatagramSocket 對象來監(jiān)聽指定的 UDP 端口。例如,要監(jiān)聽端口號為 9999 的 UDP 報文,可以使用以下代碼:

int port = 9999;
DatagramSocket socket = new DatagramSocket(port);

然后,創(chuàng)建一個字節(jié)數(shù)組來存儲接收到的數(shù)據(jù)。可以根據(jù)實際情況調(diào)整數(shù)組的大小。

byte[] buffer = new byte[1024];

接下來,創(chuàng)建一個 DatagramPacket 對象用于接收數(shù)據(jù)。在構(gòu)造方法中,傳入之前創(chuàng)建的字節(jié)數(shù)組和數(shù)組的長度。

DatagramPacket packet = new DatagramPacket(buffer, buffer.length);

接著,使用 DatagramSocket 的 receive() 方法接收 UDP 報文。此方法會阻塞,直到接收到報文為止。

socket.receive(packet);

最后,可以通過 DatagramPacket 的 getData() 方法獲取接收到的數(shù)據(jù),并根據(jù)實際情況進行處理。

byte[] receivedData = packet.getData();
int length = packet.getLength();
String message = new String(receivedData, 0, length);

完整的代碼如下:

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UDPReceiver {public static void main(String[] args) {try {int port = 9999;
            DatagramSocket socket = new DatagramSocket(port);
            
            byte[] buffer = new byte[1024];
            DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
            
            socket.receive(packet);
            
            byte[] receivedData = packet.getData();
            int length = packet.getLength();
            String message = new String(receivedData, 0, length);
            
            System.out.println("Received message: " + message);
            
            socket.close();} catch (Exception e) {e.printStackTrace();
        }
    }
}

注意:以上代碼只能接收一個 UDP 報文。如果需要連續(xù)接收多個報文,可以將接收報文的代碼放在一個循環(huán)中。

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-13發(fā)表,共計1165字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 拉孜县| 邢台县| 沁阳市| 迭部县| 和硕县| 枣阳市| 苏尼特右旗| 缙云县| 扎囊县| 南乐县| 渝北区| 娱乐| 郸城县| 海晏县| 改则县| 辽源市| 蓝山县| 当雄县| 万全县| 集安市| 南昌市| 舞阳县| 平度市| 东平县| 孟州市| 漳浦县| 德州市| 柘城县| 太仓市| 沂水县| 内丘县| 宝鸡市| 伊宁县| 佛冈县| 九台市| 黄大仙区| 新乡市| 准格尔旗| 龙陵县| 东辽县| 恩平市|