先上图再说(左侧是web端,右侧是ios端)ios
要实现上面的功能,若是全部设备都在线的话,那么carboncopy(xmpp xep-0280协议)这个模块是能够实现接收到的消息同步,可是若是其中一个设备或多个设备都不在线的话,那么现有的就实现不了。发送的消息也存在一样的问题,只要本身的另外的设备不在线,也是不能同步消息的,也要借助离线消息发给本身其余的设备。web
既然离线后就实现不了消息同步,那么确定要改造离线模块了。既然是针对多个设备的那么须要多添加一个设备的字段,也就是说离线消息须要保存多份了。图片
还有就是一开始还须要登记多个设备了。同步
总结一下:要实现多设备消息同步,主要借助carboncopy和离线消息。io