Nous testons actuellement une application Telecom sur IP. Nous ouvrons un Raw Socket et recevons les messages du côté distant (msgrate @ 750 + msgs/seconde taille approximative de 180 octets sans IP).Raw Socket Receive Buffer
Sur le socket Raw se trouve une couche appelée SCTP (tout comme TCP) qui indique de temps en temps qu'il manque des paquets. Maintenant, nous exécutons Wireshark sur le nœud de réception et nous pouvons voir ce paquet dans Wireshark.
Il me semble que le tampon de réception de la socket est petit causant IP (?) Pour laisser tomber les messages. Cependant, les points d'accès IP (netstat -sv) n'indiquent AUCUN abandon de paquets. Nous avons essayé de mettre la file d'attente de réception de socket à 40000 sans aucun succès. J'apprécierais tous les pointeurs quant à l'option, le cas échéant, de la couche IP que nous devrions configurer ou est-il une option de socket spécifique que nous devons définir.
Content que vous ayez résolu votre problème. Vous devez créer une nouvelle question concernant la différence entre les octets de la file d'attente 0 et l'en-tête IP avec la charge 0. Cordialement –
En fait, après avoir analysé plus loin, je suis arrivé à la conclusion qu'appeler ioctl (FIONREAD) pour trouver le nombre d'octets en attente est un appel système trop. J'ai changé le code pour juste faire un recv (dans le cas de paquets UDP/Raw) avec la taille de la mémoire tampon au maximum possible que nous attendons. Cela fait, je n'ai plus à me soucier du scénario d'en-tête IP avec charge utile 0. Merci quand même pour vôtre aide. Cela m'a fait penser dans la bonne direction. –