1
我正在使用一個使用DelimiterBasedFrameDecoder進行解碼的協議,只要收到換行符就會分割bytebuf。Netty - 用換行符傳輸字符串的最佳方法?
不幸的是,必須將發射與換行符字符串的可能性。現在,解碼器讀取字符串中的換行符,並相應地創建幀。
我的想法是編碼這些字符串使用Base64和framedecoder完成工作後,他們進行解碼。我的問題是,現在有沒有更好的解決這個問題的方法? Base64帶來了開銷以及額外的編碼/解碼工作。
使用另一個分隔符是不可能的,因爲我需要爲我的協議的報頭字段。在您的管道
嘿感謝您的回答!在此期間我提出了另一種解決方案。我只是從管道中刪除framedecoder當我收到請求/響應的整個頭並添加[FixedLengthFrameDecoder](https://netty.io/4.0/api/io/netty/handler/codec/FixedLengthFrameDecoder.html) ,如下所示,解碼器不會拆分每個換行符,而是在接收到具有新幀解碼器長度的字節量時立即拆分。 – Chocolate
是的,如果您傳輸二進制文件,那麼這是一個好方法。如果你正在傳輸字符串,那麼NUL可能是更好的選擇。 – Abe