簡體   English   中英

如何用Java格式化UDP數據包?

[英]How to format UDP packet in Java?

我需要使用UDP將一些數據發送到IP地址。 我不知道如何格式化我的字符串。 我需要發送多個數據包嗎?

在開發人員頁面上,我僅獲得以下信息: 在此處輸入圖片說明

我應該做些什么? 在右側部分,這是我需要發送的字符串。

誰能解釋什么是“挑戰”?

從開發者站點:

初始化游戲服務器后不久,它將選擇兩個主服務器“加入”。 為了使客戶端在單擊“ Internet”選項卡時看到特定的游戲服務器,游戲服務器必須出現在Steam主服務器記錄中。 游戲服務器向每個主服務器發送“ q”(71)。 每個主服務器通過發送FF FF FF FF 73 0A響應,后跟一個(相對)唯一的4字節“挑戰”號。 如果向主服務器發送無效的質詢,您將收到另一個質詢作為響應。

這是什么意思?

FF FF FF FF 73 0A

正如我在評論中所寫,您需要發送字節,而不是字符串。 因此,您必須找出服務器是否以ascii編碼或其他方式工作,然后以正確的編碼獲取字符串的字節。

當文檔討論“發送FF 73 ...”時,表示發送字節。 它是一個以16為底的數字(=“ Hexadecimal”)。 像這樣創建一個字節“ FF”:

byte b = 0xFF; // Hex for 255

當文檔討論發送“ q(71)”時,意味着發送一個字節(0x71),該字節以ascii編碼字母“ q”。

關於“挑戰”,請閱讀Wikipedia,並更深入地咨詢開發人員文檔。 我相信他們會在這個問題上說更多。

在Java中使用UDP時,您可以查閱oracle的許多示例和教程

希望對您有幫助。 祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM