簡體   English   中英

如何將TCP輸入流轉換為UPD數據字節數組?

[英]How to convert a TCP inputstream into a UPD datgram byte array?

我有一些字符串可以轉換為我使用的流

outputStream.write(string.getBytes(Charset.forName("UTF-8")));

並通過TCP套接字發送,然后服務器將這些流轉換為字節數組並發送到UDP套接字。 問題是因為原始字符串的大小各不相同,並且我不想定義字節數組的大小。 做后一種的最優化方法是什么。

將字節數組發送到UDP套接字時,使第一個字節為您發送的字符串的長度。 缺點是您只能發送0到255個字節。 我不了解Java,但是您可以獲取長度的最低8位作為第一個字節發送,而將高8位作為第二個字節發送,那么您可以發送0到65535字節。

從UDP套接字讀取的其他程序當然必須讀取前一個或兩個字節,並從中構造一個整數。 然后,它知道長度並可以讀取確切的字節數。

暫無
暫無

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

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