Dans Linux, on peut spécifier la valeur par défaut du système reçoivent la taille de la mémoire tampon pour les paquets de réseau, par exemple UDP, en utilisant les commandes suivantes:Spécifier UDP recevoir la taille de la mémoire tampon lors de l'exécution sous Linux
sysctl -w net.core.rmem_max=<value>
sysctl -w net.core.rmem_default=<value>
Mais je me demande, est-il possible pour une application (par exemple, dans c
) pour remplacer les valeurs par défaut du système en spécifiant la taille du tampon de réception par socket UDP en cours d'exécution?
juste ce que je cherchais :) Je me demande aussi, si j'ai spécifié la taille du tampon à une petite valeur, sera-t-il statique? Ou le système redimensionnera-t-il dynamiquement le tampon pour gérer la pression du trafic, le cas échéant? –
J'ai développé un peu ma réponse pour mentionner l'autoréglage Linux TCP; sous Linux, si l'autoréglage est activé, vous ne devriez probablement pas ajuster la taille du tampon en utilisant 'setsockopt'; mais sur d'autres systèmes, vous pouvez toujours vouloir. –
L'autoréglage s'applique uniquement à TCP ou s'applique à TCP et à UDP? – kumar