6

Я ищу решение для push-события от моего сервера к клиентам, которые будут пользователями Android, iOS и Desktop (веб-сайтов).Служба обмена сообщениями в реальном времени для мобильных и настольных устройств

Я видел немало сообщений на Parse, Amazon SNS и Google Cloud Messaging, но не упоминал о скорости и наиболее распространенных приложениях для них или о сравнении с простым потоком TCP или веб-сайтами?

мне нужно иметь до события/второго би-directona л пропускной способности каждого клиента (¬1kb в случае) с макс 150мса Задержкой.

Каковы недостатки использования всего потока TCP событий против WebSockets против SNS/Анализировать/GCM?

+0

u может также рассмотреть сервис на основе msg-bus, например rabbitmq. –

+0

@RobertRowntree Мне было интересно, есть ли у кого-нибудь опыт работы с этими инструментами и может ли он обеспечить плюсы и минусы. –

+0

У вас есть предпочтительный язык: Java, PHP, js, net ...? – Chriss

ответ

6

Push-уведомления (GCM и APNs)

ПЛЮСЫ: Вы можете добраться до устройства, даже если клиентское приложение не работает.

CONS: Низкая пропускная способность; высокая латентность

Raw TCP

ПРОФИ: высокая пропускная способность; низкая латентность; двунаправленный

CONS: Не проходит через типовые прокси и брандмауэры; необходимо приложение клиента, чтобы быть запущен

WebSockets

ПРОФИ: высокая пропускная способность; низкая латентность; двунаправленная; проходит через брандмауэры

CONS: Не все прокси-серверы уже поддерживают их; необходимо клиентское приложение, работает

В добавок, есть также HTTP Streaming и HTTP Long опросом.

3

вы можете попробовать SignalR.

ASP.NET SignalR новая библиотека для разработчиков ASP.NET, что делает его невероятно просто добавить веб-функциональность в режиме реального времени для приложений

один из моих коллег использовали эту библиотеку для веб, окна, андроида , mac и т. д. для обмена сообщениями в режиме реального времени.

2

здесь вы можете найти некоторые тесты: http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/

это более технический вопрос может помочь вам или другим тоже: What is the fundamental difference between WebSockets and pure TCP?

Цитата из принятого ответа:

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

В Интернете вы общаетесь с чужим сервером на другом конце. Они вряд ли имеют какой-либо старый разъем, открытый для соединений. Обычно у них будет только несколько стандартных, таких как порт 80 для HTTP или 443 для HTTPS. Таким образом, для связи с сервером вы обязаны подключиться с использованием одного из этих портов.

Смежные вопросы