Риалтайм и 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();