как тут например https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=1da1db19ef7c2cfd2a51bf648878f5a4, переписывает нули, полученным объемом данных. А если read() вызывать для tcpstream в std::io::tcplistener, допустим с let mut buf = [0;4096], и отправлять на этот сокет в цикле буфер let mut buf1 = [1;2048], то read() в цикле будет считывать по два buf1 в один buf, а не каждый раз просто писать 2048 байт в buf? Можно ли его заставить читать как примере на playground?
Я ничего не понял )
Ща попробую ещё раз) есть tcp клиент и сервер на std::net, у клиента буфер на отправку в два раза меньше чем у сервера. Клиент отправляет в цикле 0..n по 2048 байт на сервер в рамках одного connect. Сервер в цикле создаёт свой буфер [0;4096] и читает методом read() эти данные . Так вот метод read(), считывает данные не по 2048, а заливает весь буфер т.е. считал 2048 и ждёт и записывает вторые 2048, но должен как я понимаю записать 2048 и уйти на новый шаг цикла. Прошу прощения за простыню текста)
А в чём проблема-то? Что не устравивает?
Обсуждают сегодня