我正在使用Netty來實現客戶端/服務器應用程序,我也使用Gson以json格式將數據從/發送到客戶端,並將其從/轉換爲java POJO。 問題是,如果數據超過一定的大小,則消息將被截斷,不會在程序中使用。所以我試圖找到一個壓縮格式(比Gson庫提供的json更好),或者可能是一種壓縮json字符串並避免截斷消息的方式。 任何幫助將不勝感激。壓縮從netty發送的數據
2
A
回答
1
如果你使用的協議是TCP/IP,你沒有保證,你發送的消息將在一個部分。你應該在你的消息中加入一些日期,這將允許客戶端確定它是否獲得了完整的消息(例如,可以將消息長度置於消息的開頭或消息末尾的某個分隔符)。
在客戶端,您應該檢查是否發送了整條消息,如果不是,則應等待消息的其餘部分。如果您在客戶端使用netty,則應將幀解碼器放入信道管道的起始位置(例如定界符爲DelimiterBasedFrameDecoder,長度字段爲LengthFieldBasedFrameDecoder)。
+0
謝謝它的工作! –
相關問題
- 1. 通過Netty的HTTP處理程序發送預壓縮的數據
- 2. 壓縮HTTP發佈從瀏覽器發送的數據
- 3. 壓縮數據發送到Webservice
- 4. 在發送之前壓縮數據
- 5. 壓縮套接字發送數據
- 6. 如何使用Netty的平減指數來壓縮發送到瀏覽器
- 7. 從NSIS發送到壓縮(壓縮)文件夾
- 8. AV在壓縮併發送TFDDataset的數據後發佈表單
- 9. 發送xhr文章壓縮
- 10. Jboss Netty - 無法連續發送數據?
- 11. Netty Framework:UDP發送海量數據
- 12. Netty的WebSocket消息是否被壓縮?
- 13. 壓縮通過C#套接字發送的數據?
- 14. 壓縮發送到ASMX Web服務的數據
- 15. 如何發送在asp.net中的壓縮數據
- 16. 通過HTTPS發送經過壓縮的數據
- 17. 數據壓縮
- 18. 壓縮數據
- 19. 壓縮數據
- 20. 發佈數據的http壓縮
- 21. 檢查從Flex發送到Java服務器的數據是否被壓縮
- 22. 客戶端數據壓縮/解壓縮?
- 23. JavaScript:數據流壓縮/解壓縮
- 24. 數據壓縮和解壓縮
- 25. 如何壓縮數據以通過電子郵件發送
- 26. 壓縮請求數據發送到Django服務器
- 27. 通過套接字發送壓縮數據
- 28. 如何將壓縮數據發送到Azure流分析?
- 29. TCP Socket以GZIP壓縮格式發送數據
- 30. 使用MQTT.js發送壓縮的JSON
誰截斷消息 - 客戶端? – wero
我想這是服務器(當消息超過特定大小時),因爲在這種情況下客戶端收到2條消息。 –
HTTP服務器可以發送的大小沒有限制。因此,找出發生了什麼問題是個好主意。 GSON消息的大小不是原因。 – wero