長連接:連接之後不會立即斷開。移動端消息推送 MQ
短連接:連接傳輸完畢之後就斷開。(http協議)
粘包:將多個包合在一起一起發送。
拆包:將一個包拆開成多個包分開發送。
解決方法:
1.消息定長,報文大小固定長度,不夠的空格補全,發送方和接收方遵循相同的約定,這樣既是粘包了通過接收方編程實現獲取固定的長度的報文也能區分。
2.報文添加特殊的分隔符,例如每條報文結束都添加回車換行,或者指定特殊字符作爲報文分隔符,接收方通過特殊分隔符切分報文區分。
3.將消息分爲消息頭和消息體,消息頭包含表示信息的總長度的字段。
序列化:
將對象序列化爲二進制(字節數組),一般也將序列化稱爲編碼,主要用於網絡傳輸,數據持久化等。
反序列化:則是將從網絡,磁盤等讀取的字節數組還原成原始對象,以便後續業務的進行,一般也將反序列化稱爲解碼,主要用於網絡傳輸對象,以便完成遠程調用。
序列化有哪些協議:
json,xml,fastjson。
Netty編程高級
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
java線程併發庫
ThreadLocal的使用,,,實際上相當於維護了一個Map,其中以鍵值對的形式,存儲了某一個數據被多個線程訪問所對應的值。當然這個數據只能有
xinyetonghua
2020-07-08 12:36:33
分佈式系統各個節點狀態如何同步?淺談一下
毛发旺盛的程序员
2020-07-08 12:27:30
ZooKeeper 一致性協議 ZAB 原理,瞭解一下
毛发旺盛的程序员
2020-07-08 12:27:20
Spring中Transactional 失效的解決方案,讓我們一起探討一下
毛发旺盛的程序员
2020-07-08 12:27:20
太狠了,Spring全家桶筆記,一站式通關全攻略,已入職某廠漲薪18K
毛发旺盛的程序员
2020-07-08 12:27:20
java中的NAN和INFINITY java中的NAN和INFINITY
a318013800
2021-11-28 13:09:28
【Java 小白菜入門筆記 2.2】常用的類和方法
江户川柯壮
2020-07-08 12:39:29
springboot增量打包更新--靜態資源分離打包
CNOYG
2020-07-08 12:39:29
增加FastDfs多文件存儲路徑
pengdayong77
2020-07-08 12:37:23
JSONArray指定日期的反序列化
JSONArray序列化日期最初用到, 這個是全局設置,會有風險。 String[] dateFormats = new String[] {"yyyyMMdd"}; JSONUtils.getM
pengdayong77
2020-07-08 12:37:23
java緩存對象,使之不需要每次都從數據庫中獲取,以提高程序性能
pengdayong77
2020-07-08 12:37:23
大數據入門(七)win10上eclipse使用Hadoop的配置
33 Audrey
2020-07-08 12:35:23
Java動態綁定機制經典案列理解
柘月十七
2020-07-08 12:33:16