Получи случайную криптовалюту за регистрацию!

​​Риалтайм и WebSocket Нередко разработчики мобильных приложе | Mobile Pet

​​Риалтайм и WebSocket

Нередко разработчики мобильных приложений сталкиваются с задачей обновления данных на экране смартфона в реальном времени. Чаты, курьерские службы, биржи – все это примеры сервисов с необходимостью риалтайм-взаимодействия. Сегодня разберем, как это работает.

Самое распространенное решение – протокол WebSocket (WS). В отличие от HTTP, построенному по модели «запрос-ответ», WS работает полностью асинхронно. Клиент и сервер отправляют сообщения друг другу через созданное соединение, не дожидаясь ответа. Входящие сообщения обрабатываются с помощью подписки на созданное WS-соединение.

Схема работы WS со стороны клиента выглядит так:

создаем соединение:
final channel = IOWebSocketChannel.connect('ws://echo.websocket.org');

для получения сообщений в реальном времени подписываемся на созданное соединение и обрабатываем входящие данные как нам необходимо:
channel.stream.listen((message) => print(‘WS Message: $message’));

для отправки сообщений серверу добавляем данные в этот канал:
channel.sink.add(‘Check Mobile pet!');

для завершения соединения закрываем его:
channel.sink.close();

#development