欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)監(jiān)聽UDP協(xié)議的指定端口并收到數(shù)據(jù)按照十六進(jìn)制輸出方式

 更新時(shí)間:2024年04月15日 09:40:24   作者:霸道流氓氣質(zhì)  
這篇文章主要介紹了Java實(shí)現(xiàn)監(jiān)聽UDP協(xié)議的指定端口并收到數(shù)據(jù)按照十六進(jìn)制輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

場(chǎng)景

對(duì)接協(xié)議中需要監(jiān)聽UDP協(xié)議的指定端口并監(jiān)聽數(shù)據(jù),且數(shù)據(jù)格式為十六進(jìn)制。

如果是在linux服務(wù)上,可以快速通過C或者python腳本等方式實(shí)現(xiàn)。

這里使用Java代碼實(shí)現(xiàn),可便于后續(xù)做其他存儲(chǔ)數(shù)據(jù)等的擴(kuò)展,且只需要在服務(wù)器上安裝jdk,均可進(jìn)行運(yùn)行和數(shù)據(jù)調(diào)試。

實(shí)現(xiàn)

1、新建Java類

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
 
public class UdpTest {
    public static void main(String[] args) {
        int port = 21000; // 選擇一個(gè)未被使用的端口號(hào)
        try {
            // 創(chuàng)建DatagramSocket對(duì)象,并綁定到指定的本地端口
            DatagramSocket socket = new DatagramSocket(port);
            System.out.println("Listening on port: " + socket.getLocalPort());
 
            // 創(chuàng)建一個(gè)DatagramPacket用于接收數(shù)據(jù)
            byte[] buffer = new byte[1024]; // 接收緩沖區(qū)
            DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
            // 循環(huán)監(jiān)聽數(shù)據(jù)包
            while (true) {
                socket.receive(packet); // 接收數(shù)據(jù)包
                int length = packet.getLength(); // 獲取實(shí)際接收到的數(shù)據(jù)長(zhǎng)度
                byte[] data = new byte[length]; // 創(chuàng)建實(shí)際大小的數(shù)據(jù)副本
                System.arraycopy(buffer, 0, data, 0, length);
                // 輸出十六進(jìn)制數(shù)據(jù)
                StringBuilder hexOutput = new StringBuilder();
                for (byte b : data) {
                    hexOutput.append(String.format("%02X ", b));
                }
                System.out.println(hexOutput);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2、注意不要新增包名

然后在此類的路徑下打開cmd,確保電腦已經(jīng)安裝jdk,進(jìn)行編譯成class文件

輸入如下指令

javac -encoding utf-8 UdpTest.java

因?yàn)檫@里含有中文,所以指定編碼格式

編譯成功后產(chǎn)生class文件

運(yùn)行class文件

java UdpTest

3、使用UDP測(cè)試工具

發(fā)送十六進(jìn)制數(shù)據(jù)并調(diào)試

則后續(xù)將此class文件放到需要調(diào)試數(shù)據(jù)的安裝jdk的服務(wù)器上即可調(diào)試。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決復(fù)制springboot項(xiàng)目后,啟動(dòng)日志無顏色的問題

    解決復(fù)制springboot項(xiàng)目后,啟動(dòng)日志無顏色的問題

    這篇文章主要介紹了解決復(fù)制springboot項(xiàng)目后,啟動(dòng)日志無顏色的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java微信掃描公眾號(hào)二維碼實(shí)現(xiàn)登陸功能

    java微信掃描公眾號(hào)二維碼實(shí)現(xiàn)登陸功能

    這篇文章主要為大家詳細(xì)介紹了PHP微信掃描公眾號(hào)二維碼實(shí)現(xiàn)登陸功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 淺談java對(duì)象結(jié)構(gòu) 對(duì)象頭 Markword

    淺談java對(duì)象結(jié)構(gòu) 對(duì)象頭 Markword

    這篇文章主要介紹了淺談java對(duì)象結(jié)構(gòu) 對(duì)象頭 Markword,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 深入理解Java中的String(示例詳解)

    深入理解Java中的String(示例詳解)

    文章詳細(xì)介紹了Java中String類的特點(diǎn)、用途、主要方法以及常見用法,String類是不可變的,具有字符串常量池,特定的內(nèi)存結(jié)構(gòu),并隨JDK版本更新而優(yōu)化,它廣泛用于表示和處理文本數(shù)據(jù),并在內(nèi)存管理和性能優(yōu)化方面表現(xiàn)出色,感興趣的朋友一起看看吧
    2025-03-03
  • Java實(shí)現(xiàn)Excel導(dǎo)出并添加水印

    Java實(shí)現(xiàn)Excel導(dǎo)出并添加水印

    這篇文章主要為大家詳細(xì)介紹了Java如何使用poi-ooxml包導(dǎo)出xlsx添加水印,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • Java????????HashMap遍歷方法匯總

    Java????????HashMap遍歷方法匯總

    這篇文章主要介紹了Java????????HashMap遍歷方法匯總,HashMap?的遍歷方法有很多種,不同的?JDK?版本有不同的寫法,下文關(guān)于其遍歷方法總結(jié)需要的小伙伴可以參考一下
    2022-05-05
  • spring boot 日志/頁面處理、實(shí)體類構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn)

    spring boot 日志/頁面處理、實(shí)體類構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn)

    這篇文章主要介紹了spring boot 日志/頁面處理、實(shí)體類構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • SpringBoot Application注解原理及代碼詳解

    SpringBoot Application注解原理及代碼詳解

    這篇文章主要介紹了SpringBoot Application注解原理及代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Java使用DateFormatter格式化日期時(shí)間的方法示例

    Java使用DateFormatter格式化日期時(shí)間的方法示例

    這篇文章主要介紹了Java使用DateFormatter格式化日期時(shí)間的方法,結(jié)合具體實(shí)例分析了java使用DateFormatter格式化日期時(shí)間的相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • Java中淺拷貝和深拷貝詳解

    Java中淺拷貝和深拷貝詳解

    大家好,本篇文章主要講的是Java中淺拷貝和深拷貝詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評(píng)論