Русский
Открыть в Telegram

ПостГотовый сокет ещё не содержит всё сообщение

18 октября 2026
Z
Zen of Python
Фотография
нажмите — покажем
Готовый сокет ещё не содержит всё сообщение Selector сообщил, что сокет доступен для чтения. Это означает, что можно попробовать прочитать данные, а не что весь запрос уже пришёл. В разборе модуля selectors показывают небольшой цикл обработки соединений. Сокеты переводят в неблокирующий режим, а данные накапливают в буфере конкретного соединения. У TCP нет границ сообщений: один recv может вернуть часть запроса или несколько сообщений вместе. Нужен свой способ выделения сообщения — длина, разделитель или формат протокола. Запись тоже бывает частичной. Неотправленный остаток сохраняют, а ожидание записи включают только при наличии данных. Иначе постоянно готовый к записи сокет может заставить цикл расходовать CPU впустую. DefaultSelector выбирает доступный механизм платформы, но правила протокола и очистка соединений остаются задачей приложения. #python #сети
4 · 581 ·

Рядом в ленте

ZZen of PythonОдинаковые файлы, разные ZIP: почему меняется хеш Два архива распаковываются в одинаковые файлы, но их SHA-256 различаются. Причиной могут быть даты записей, ихZZen of PythonЛенивый импорт откладывает не только загрузку модуля В Python 3.15 импорт можно отложить до первого обращения к имени. Это полезно для консольной утилиты, котор
это сообщение
ZZen of PythonТаблицы из PDF: локальная библиотека или облачный API Текст из PDF извлечён, а столбцы таблицы перемешались. Для отчёта важны не только слова, но и связи между ZZen of PythonEnum ограничивает состояния, но не проверяет переходы Статус "paied" — допустимая строка. Enum позволяет проверить значение на границе приложения: from enum imp

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем