Если вы действительно хотите использовать MYSQL в качестве способа доставки сообщений, тогда вы можете посмотреть комментарий @ TekShock об использовании PushNotifications
от Apple. Вы также можете использовать Long Polling , но это совсем не выгодно.
Лично я бы не использовал MYSQL как способ доставки сообщений только потому, что есть намного лучшие варианты. Вы можете выбирать из протоколов обмена сообщениями, таких как XMPP
и MQTT
для доставки ваших сообщений. Я лично использовал MQTT
в прошлом и думал, что это было действительно просто, чтобы получить представление и будет соответствовать вашим потребностям отлично. У него есть пара действительно хороших быстрых клиентов, таких как SwiftMQTT . Каждое устройство будет подписываться и публиковаться в комнате, чтобы оно могло получать и отправлять сообщения. Таким образом, в вашем случае вы можете иметь User A
подписку на ROOM 1
и User B
подписку на одну и ту же комнату, и они оба получат все сообщения, опубликованные в этой конкретной комнате.
Затем вы можете сохранить доставленные сообщения в базе данных MYSQL, чтобы, когда пользователь открывает резервную копию приложения, вы могли загрузить все свои предыдущие сообщения. Вы также можете использовать Sqlite
или Realm
для локального хранения этих сообщений вместо хранения в сети.
РЕДАКТИРОВАТЬ:
Масштабирование также довольно просто с MQTT
, если вы подумаете об этом. Вы можете разместить систему очередей между вашим приложением и MQTT-брокером, возможно, что-то вроде Apache Kafka, которая будет вашим лучшим выбором.