Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpWsInr 269 of 288 menu
◀ ▶

Введение в WebSocket в Rust

Долгоживущий канал поверх HTTP держит соединение открытым и передает сообщение в обе стороны без повторного рукопожатия на каждый кусок текста. Клиент и сервер читают очередную порцию, когда она готова, и могут отправить ответ в любой момент, пока канал жив.

Сначала идет обычный запрос с просьбой перейти на другой режим обмена. После согласия сокет остается тем же, но данные идут рамками с типом: текст, закрытие или служебные кадры. Ошибки сети и разрыв видны как конец чтения или отдельный кадр завершения.

На сервере тот же асинхронный прием, что и для обычных адресов, дополняют обработчиком перехода и циклом чтения из сокета. Клиент открывает адрес со схемой без шифрования на локальном порту и пишет текст через половины потока после разделения.

Дальше примем переход на сервере, откроем адрес на клиенте, обменяемся короткими строками, разведем соединения по задачам, разошлем текст через общий канал рассылки и завершим чтение кадром закрытия.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить