在iOS和聊天服务器之间同步聊天消息

时间:2018-06-29 08:14:30

标签: ios swift core-data signalr chat

我已经开发了一个使用SignalR作为聊天服务器以及将CoreData作为App中的本地数据库的iOS聊天应用程序。 我需要在发送方和接收方之间同步所有消息。

当发件人发送消息时,其存储在本地数据库中(如果连接/断开了互联网,则在本地排队发送),应用程序调用syncUnsentMessagesToServer()函数,该函数接收用户和朋友之间的未发送消息并同步未发送的消息( 20条消息)发送到服务器。服务器以真实状态响应,并标记消息已发送。

现在,消息在服务器上,应该转发给接收者。每条消息都有标志isReceived(最初为false),接收者在收到该特定消息时应确认该标志,并且标记为isReceived = true。

我应该如何在服务器和接收方之间同步消息:

  1. 无论何时接收方与SignalR集线器连接,服务器都应检查isReceived = false的所有消息,然后将所有消息立即发送到接收方应用程序?但是,消息的计数可能超过SignalR传输支持的数据大小!怎么处理呢?使用WebJob在服务器和接收方之间同步20条消息块还是什么?
  2. 关于在服务器和接收者之间同步消息的更好的主意吗?
  3. 由于我也需要同步图像消息,因此在发件人和服务器之间同步未发送消息的任何改进建议吗?

0 个答案:

没有答案