時常有同事問起數(shù)據(jù)透傳是什么意思踏枣,可能是代碼接觸的比較少,下面就簡單的說一下吧钙蒙。
?????? 其實很簡單茵瀑,一般是指我們上層的數(shù)據(jù)以buf的形式經(jīng)過底層模塊去傳送,底層只保證將這段buf傳出去躬厌,而不去關(guān)心buf中具體是什么樣的數(shù)據(jù)马昨,不用去解析buf中的具體內(nèi)容。
?????? 具體一點(diǎn)扛施,以兩個QQ客戶端聊天為例鸿捧,QQ的UI層定義了表示聊天信息的結(jié)構(gòu)體(結(jié)構(gòu)體中包含文字內(nèi)容、文字顏色疙渣、文字字體及文字大小等信息)匙奴,當(dāng)QQ客戶端發(fā)送信息時將信息填充到結(jié)構(gòu)體中,然后再將結(jié)構(gòu)體“壓到”buf中妄荔,交給底層去傳送泼菌,底層不知道buf中存放的是什么內(nèi)容,也不用關(guān)心是什么內(nèi)容啦租,只要將buf發(fā)送給對端QQ就可以了哗伯。當(dāng)對端QQ收到buf后,將buf中的內(nèi)容轉(zhuǎn)化成結(jié)構(gòu)體篷角,然后UI層去解析這個結(jié)構(gòu)體就能得到具體的聊天信息了焊刹,從而將聊天信息顯示到界面去。這就是一個具體的底層數(shù)據(jù)透傳的例子恳蹲。