前段時間公司項目重構(gòu)字柠,改了一些融云的代碼。改了幾天bug之后現(xiàn)在有一點小心得狡赐,給大家分享一下窑业,一下純屬自己的理解,如果有錯誤的地方希望大家指出來一起學習共同進步阴汇。
一数冬、融云的通信原理。? socket + 推送(靜默推送)socket是用來進行im及時通信的。 而推送(靜默推送)是用來進行特定的消息刷新的拐纱。
二铜异、融云的消息數(shù)據(jù)是存在本地的數(shù)據(jù)庫的, 也就是說每一次從發(fā)送到接收消息的流程是 |1.發(fā)送消息|2.接收消息|3.刷新數(shù)據(jù)庫|4.展示消息?
三秸架、如果遇到特殊的要求 例如揍庄,發(fā)送的消息是否成功,發(fā)送的消息是否已讀东抹。 流程大概如下蚂子,|1.發(fā)送消息給容云服務器|2.融云服務器發(fā)送相關的消息推送給發(fā)送端或者接收端|3.根據(jù)收到的消息會走融云相應的代理方法,在相應的代理方法中更新列表|(已讀 消息回執(zhí)是一個專屬的代理方法)