170 похожих чатов

Вопрос такой, не нашел в интернете почему то. Если у

нас есть клиент и сервер на вебсокетах, у нас есть гарантия что сообщения придут в том же порядке, что и запросы? Например клиент отправляет one two, сервер получает one и в ответ отправляет ones, получает two и в ответ отправляет twos. Не будет же ситуации когда клиет получит сначала twos, а потом ones?

13 ответов

27 просмотров

вебсокеты это не совсем нодежс. Это надстройка над хттп. И по идее ответ придет в том порядке в каком его отправит сервер. Если на обработку one требуется минута (сложный запрос в базу данных, потом обработка на десяти микросервисах) а на обработку two секунда - то как бы не очень логично держать twos до отправки ones, если этого не требует бизнеслогика. В рамках js стоит взгянуть на то как работает event loop. Можно устроить так что отправка twos будет заблокирована до отправки ones со стороны сервера. Или же не обрабатывать twos до ones на стороне клиента

Может не в тему, но в тех же rpc протоколах поверх вебсокетов каждому сообщению "запрос" прибавляется айдишник, по которому можно сопоставмть ответ, который прийдет с тем же айди

вебсокеты постороены поверх tcp, а tcp гарантирует порядок Кратко говоря не будет такой ситуации

Вебсокеты - надстройка над хттп. Ты хочешь сказать что у тебя ответы на геты приходят исключительно в порядке отправки?

а хттп надстройка над tcp

Об том и речь

https://tools.ietf.org/html/rfc6455

Назар-Калитюк Автор вопроса

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

Да тут не поспоришь но здесь не будет фрагментов меседжа а два разных меседжа

кейс редкий, но вполне возможный

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта