для чтения из коннекшена. Везде в примерах 1024 байт ставят. Но можно же создать буфер на мегабайт, тогда меньше итераций чтения будет, но как понимаю этот буфер будет жрать место для каждого коннекшена. Есть какой-то рецепт?
сколько у вас в среднем пакет, столько и должен быть буфер
Я тут поэксперементировал. Даже если выставить буфер больше размера пакета, то он всё равно не вытягивает его за раз. Поставил буфер 10мб, и отправляю пакеты по 5мб 65482 / 5242880 130964 / 5242880 196446 / 5242880 261928 / 5242880 1506086 / 5242880 2357352 / 5242880 3634294 / 5242880 5205886 / 5242880 5242880 / 5242880 Packet received 65483 / 5242880 458381 / 5242880 1833524 / 5242880 3339633 / 5242880 4911225 / 5242880 5242880 / 5242880 Packet received Может есть связь какая-то с MTU (1500 для Ethernet) или максимальный размер сегмента для TCP (536), или максимальный размер TCP пакета (65535)
это зависит по большей части от ширины канала
Короче ставить как все 1024 и не вые...?)
А где вы этот размер указываете?
Обсуждают сегодня