• Как реализовать собственный IM-сервер для общения текстовыми сообщениями с клиентом для iPhone (push-уведомления обязательны)?

    @BVladymyr
    Вам нужно понять, что требование наличия пуш нотификаций и "- весь трафик должен идти только от клиентов к серверу и обратно (Не затрагивая какие-либо сторонние ("общественные") сервисы);" в общем случае будут конфликтовать.

    Для получения пуш нотификации нужно чтобы кто-то ее вам отправил.
    Это может сделать само клиентское приложение в рамках выполнения фоновой задачи или бекенд сервис клиентского приложения. Чаще используется именно 2-й подход, в котором часть трафика проходит собственно через сервер клиента.

    Более того, Push Service ( Microsoft или Apple) по сути тоже является сторонним сервисом по отношению к вашему серверу.

    Самым простым решением будет принять, что ваш трафик проходит через клиент, бекенд клиента и Пуш сервера Apple.

    В этом случае вы можете выбирать из множества клиентов.
    К примеру использовать тот же IM+. Для "страшных секретов" в нем есть функция OTR для проведения безопасной переписки, при которой точно только собеседник может прочитать сообщение(Эта функция не работает в режиме пуш).

    Иначе вам нужно искать клиент, который может работать в фоне. Далеко не каждое приложение может задекларировать такую возможность. Часто это GPS Traker -ы и, как заметил risik, VOIP.
    Даже если вы его найдете, учитывайте то, что пользователь и система может блокировать работу приложения в фоне.
    Ответ написан
    Комментировать