Ramm
>> net.core.rmem_max
Открывай доку и вперед.
Dampire
Атлична.
https://cesbo.com/ru/linux/networking/
16 Мб минимум, это в случае самого тормозного адаптера.
Про 200 Кб буфер по умолчанию можно услышать тут:
http://wm-help.net/lib/b/book/3584178044/226
Максимальный размер приемного буфера сокета в BSD/OS 2.1 по умолчанию равен 262 144 байта
Это 1996 год.
Ramm
> 16 Мб минимум, это в случае самого тормозного адаптера.
> Про 200 Кб буфер по умолчанию можно услышать тут:
За базар отвечаешь?
2k18, Elementary OS 0.4.1 (Ubuntu-based)

И тебе никто не говорит, что ты не можешь изменить. Ты можешь задать размер до 4G в rmem_max. Только вот беда. Ни один вменяемый человек не даст твоему launch-скрипту root доступ. Будешь просить каждого игрока менять максимальный размер.
Dampire
> За базар отвечаешь?
Чувачок, что за гоп-стоп на Геймдеве?
Хочешь сказать, что у тебя в системе стоит умолчание в 200 Кб, а значит в программах больше и не выставить?
Ramm
Чувачок, ты знаешь разницу про rmem_max и rmem_default? Если не знаешь - иди читай документацию, утомило уже разжевывать в n-ный раз. Или телефон гони, раз гоп-стоп.
net.core.rmem_default - Указывает размер по умолчанию буфера для сокета получения данных по сети.
net.core.rmem_max - Максимальный размер буфера сокета для получения данных по сети.
Насколько я понял, rmem_default - размер буфера сокета, который поставится по дефолту, я могу поставить ему другой размер, но он не может быть больше rmem_max? Так?
Второе.
Я во втором вопросе в первом своем посте (на первой странице) об этом спросил, фактически только сейчас приходим к ответу на него...
В Виндовз есть подобное ограничение? Про дефолтное значение понятно - 8Кб. А максимальный размер есть?
Dampire
> Чувачок ...
Ути-пути, какие мы обидчивые =) Не обижайся =*
Ramm
> В Виндовз есть подобное ограничение? Про дефолтное значение понятно - 8Кб. А максимальный размер есть?
Вот ни фига не "понятно". Если ты проведешь простейший эксперимент в современной локальной сети на витых парах, увидишь что благополучно ходят udp-пакеты размером в 64кб. В интернет такие большие скорее всего не уйдут. На С++ они благополучно отправляются и принимаются без всяких настроек, на С# - не знаю, может там и есть то самое ограничение в 8кб.
Максимальный размер - 64кб. Формат пакетов не предполагает больших величин, там всего два байта под длину.
Zab
Не путай MTU и размер буфера.
Ramm
> В Виндовз есть подобное ограничение? Про дефолтное значение понятно - 8Кб. А максимальный размер есть?
Я верю, ты справишься.
http://letmegooglethat.com/?q=windows+max+udp+buffer+size+registry
Вот тут прочитал
https://www.securitylab.ru/analytics/243414.php
С правами пользователя можно изменить размер буфера по умолчанию, но для изменения его максимального размера требуются права администратора. Заметьте, что большинство сегодняшних Unix-Like систем по умолчанию имеют значение максимального размера буфера TCP всего лишь 256K. В Windows нет максимального размера буфера по умолчанию, но администратор может его установить.
Но это про TCP...
Zab
> Вот ни фига не "понятно". Если ты проведешь простейший эксперимент в
> современной локальной сети на витых парах, увидишь что благополучно ходят
> udp-пакеты размером в 64кб. В интернет такие большие скорее всего не уйдут. На
> С++ они благополучно отправляются и принимаются, на С# - не знаю, может там и
> есть то самое ограничение в 8кб.
В C#, по крайней мере, все очень хитро устроено, с таким буфером, в 8 Кб, он все равно примет пакет, даже если он больше этих 8 Кб.
Для эксперимента можешь отправить 10 пакетов по 1 Кб, но не считывать их по одному, а считать все разом - посмотри сколько будет на сокете.
Dampire
> Я верю, ты справишься.
Бред. При чем тут реестр винды? Нафига мне менять значение размера буфера сокета по умолчанию, которое винда выделяет любому сокету, когда я сам могу внутри своей программы менять значение размера буфера для своего сокета?
Ты предлагаешь мне залезть в систему и изменить rmem_default, а мне надо тупо узнать размер rmem_max, если проводить аналогии с линуксом!
https://docs.oracle.com/cd/E13924_01/coh.340/e13818/perftune.htm#CACIEGCC
On Windows:
Windows does not impose a buffer size restriction by default.
https://access.redhat.com/documentation/en-US/JBoss_Enterprise_We… dpbuffer.html
Table 23.1. Default Max UDP Buffer Sizes
Operating System Default Max UDP Buffer (in bytes)
Linux 131071
Windows No known limit
Solaris 262144
FreeBSD, Darwin 262144
AIX 1048576
Короче, безлимит в винде. Почему такой геморрой в линуксе и так урезан размер буфера - загадка.
Тема в архиве.