@Fjfgs

Влияет ли socket.ReceiveBufferSize и socket.SendBufferSize хоть на что-то при использовании UDP?

Я пишу Relaible UDP, где сам реализовываю логику buffer'ов. Влияет ли socket.ReceiveBufferSize и socket.SendBufferSize хоть на что-то при использовании UDP? Если нет, то я установлю значения 0 для данных свойств. На StackOwerflow я видел пост с подобным вопросом, и там одни писали, что эти свойства влияют на UDP, другие писали, что эти свойства влияют на что-то только в том случае, если socket использует TCP.
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
ValdikSS
@ValdikSS
https://github.com/quic-go/quic-go/wiki/UDP-Buffer...
Experiments have shown that QUIC transfers on high-bandwidth connections can be limited by the size of the UDP receive and send buffer. The receive buffer holds packets that have been received by the kernel, but not yet read by the application (quic-go in this case). The send buffer holds packets that have been sent by quic-go, but not sent out by the kernel. In both cases, once these buffers fill up, the kernel will drop any new incoming packet.

Therefore, quic-go tries to increase the buffer size. The way to do this is an OS-specific, and we currently have an implementation for linux, windows and darwin. However, an application is only allowed to do increase the buffer size up to a maximum value set in the kernel. Unfortunately, on Linux this value is rather small, too small for high-bandwidth QUIC transfers.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы