1500 - стандарт MTU для Ethernet, но в примерах кода все ставят как им в голову взбредёт. То 2500, то 4096, то 1048, то ещё какие то значения. -1 тоже не вариант - EOF в конце означает разрыв соединения
Мту имеет значение для отправителя. Получатель почти никак на него не влияет.
Вот ещё почитай https://en.m.wikipedia.org/wiki/IP_fragmentation
короче я вот такую приблуду написал для получения неограниченного количества байтов, потом загуглил, на стаке уже такое раньше меня придумали с синк ридером async def read(reader: asyncio.StreamReader, size: int = 1024) -> bytes: """Read stream by 1kB.""" data = b'' while True: packet = await reader.read(size) data += packet if len(packet) != size: break return data
StreamReader сказал, он читает столько байт, сколько пришло
Не работает.
Ты мне говоришь что мой ldap сервер не работает, угу
Тебе кажется что он работает, по счастливому стечению обстоятельств.
Просто у кого-то "работает" -- это один раз сработало у себя на локальной машине, а у кого-то -- "работает" -- это фкнкционирует всегда в продакшн условиях.
Обсуждают сегодня