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

Можно каким-либо способом в tokio framedcodec получить ошибку «Connection

reset by peer», но при этом также понять что сообщение полностью доставлено или на половине пути клиент дропнулся? Эту ошибку, на сколько я понял, сам framedcodec под капотом из стрима получает и прокидывает в пользовательскую ошибку, но т.к. есть подозрение что клиент так в обычной практике рвет соединение и это не ошибка, хотелось бы понимать это сделано на половине пути или когда он закончил

7 ответов

18 просмотров

TCP гарантирует доставку. Если бы пакеты не доходили, то была бы другая ошибка. Точнее, доставляет пакеты с большой вероятностью.

если клиент разорвал соединение после того, как отправил всё, что хотел, .next().await на FramedRead вернёт Ok(None)

Артем-Пятницкий Автор вопроса
Артем-Пятницкий Автор вопроса
Денис
если клиент разорвал соединение после того, как от...

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

Артем Пятницкий
Хм, реально тупанул, не подумал

Хотя... Надо смотреть как ведёт себя сетевой стек, если ACK получен не на все отправленные пакеты, но уже пришёл RST.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
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
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта