извиквайки този код както на Linux (Ubuntu 12.04), така и на Windows 7, получавате много различни резултати:
DatagramSocket socket = new DatagramSocket(4445);
socket.setReceiveBufferSize(Integer.MAX_VALUE);
System.out.println("SO_RX_BUFFER SET TO:"+socket.getReceiveBufferSize());
Linux получавате: SO_RX_BUFFER SET TO:131071
и под Windows получавате: SO_RX_BUFFER SET TO:2147483647
Защо драстичната разлика между операционните системи? Защо толкова малка стойност за linux? Има ли все пак размерът на буфера на Linux да се увеличи?