Size: a a a

2020 October 08

ВС

Владимир Столяров... in Go-go!
⌬ Richard Cooper
так чуваки, вы меня очень напрягли.

то есть, если я пишу conn.Read(buf), то я запишу в buf НЕ БОЛЬШЕ чем длина пакета? и если len(buf) > 1005001488 то даже в этом случае запишется максимум 1800 байт?
ну так reader/writter же так и спроектированы: может записаться или считаться совсем не вся длина буфера, что передан как аргумент
источник

ВС

Владимир Столяров... in Go-go!
и поэтому Read/Write возвращают число байт, которые считались/записались
источник

TO

Toto Oshka in Go-go!
Владимир Столяров
ну так reader/writter же так и спроектированы: может записаться или считаться совсем не вся длина буфера, что передан как аргумент
я думаю тут больше от самого TCP зависит, оно не сможет считать все, пока другой пакет не поступил в сервер
источник

TO

Toto Oshka in Go-go!
лаги там, задержки и прочее
источник

TO

Toto Oshka in Go-go!
*/клиент, что угодно )
источник

ВС

Владимир Столяров... in Go-go!
ну, это "особенности реализации", а интерфейс их вполне неплохо покрывает, правда не все об этом помнят
источник

⌬C

⌬ Richard Cooper in Go-go!
@nyarumes чел ты гений https://ibb.co/pR6VMky
источник

⌬C

⌬ Richard Cooper in Go-go!
он реально читал меньше чем нужно было
источник

TO

Toto Oshka in Go-go!
ага, я тоже в те года старые удивлялся, почему это нельзя было сделать в std
источник

⌬C

⌬ Richard Cooper in Go-go!
Владимир Столяров
ну так reader/writter же так и спроектированы: может записаться или считаться совсем не вся длина буфера, что передан как аргумент
что насчет io.ReadFull? или это не очень способ?
источник

ВС

Владимир Столяров... in Go-go!
readfull хорошо работает когда длина заранее известна
источник

⌬C

⌬ Richard Cooper in Go-go!
и сходу: правильно получается, что если сторона нам отослала 8193 байта например, то когда мы прочтем 8194-ый — 100% словим EOF ошибку?
источник

⌬C

⌬ Richard Cooper in Go-go!
Владимир Столяров
readfull хорошо работает когда длина заранее известна
да, в первом пакете телега говорит сколько она отослала
источник

ВС

Владимир Столяров... in Go-go!
тогда ок
источник

⌬C

⌬ Richard Cooper in Go-go!
там типа первые 4 байта с количеством последующих байт а потом поток
источник

⌬C

⌬ Richard Cooper in Go-go!
⌬ Richard Cooper
и сходу: правильно получается, что если сторона нам отослала 8193 байта например, то когда мы прочтем 8194-ый — 100% словим EOF ошибку?
вот эта штука правильная? @expxakep может подскажешь?
источник

⌬C

⌬ Richard Cooper in Go-go!
не штука а предположение, я дурачок все штуками называю
источник

ВС

Владимир Столяров... in Go-go!
eof на tcp ловится вроде только при закрытии соединения
источник

⌬C

⌬ Richard Cooper in Go-go!
а даже так
источник

ВС

Владимир Столяров... in Go-go!
ну это ж по сути труба, вы с одной стороны налили, с другой оно вылилось
источник