Ich habe eine Implementierung, die ioctl (FIONREAD) verwendet die Anzahl der ausstehenden Bytes in der Raw-Socket Empfangspuffer in Linux zu bestimmen und dann einen recv auf das nennen.ioctl FIOREAD auf Raw-Socket in Linux
Ich habe irgendwo gelesen, dass die ioctl-Schnittstelle für Raw Sockets in Linux den tatsächlichen anstehenden Oktetts nicht wirklich zurück. Ist das richtig?
ich frage, weil ich ab und zu auf hohe Belastungen am verlieren und so weit havent in der Lage gewesen, einige Nachrichten, herauszufinden, wo. Ist dies ein besserer Weg, um die Anzahl der ausstehenden Oktette im Raw-Socket zu ermitteln.
Die Implementierung, mit der ich arbeite, verwendet ioctl Systemaufruf, um die Anzahl der ungelesenen Pakete zu ermitteln. Ich habe das geändert, um es auf 2048 zu codieren, und ich sehe keinen Paketverlust mehr. Vielen Dank. –