Frage

Wie soll ich bestimmen, was für ein Abhörsocket der Backlog-Parameter zu benutzen? Ist es ein Problem, einfach eine sehr große Anzahl angeben?

War es hilfreich?

Lösung

Von der docs :

  

Ein Wert für den Rückstau von SOMAXCONN ist eine spezielle Konstante, die die zugrunde liegenden Dienstanbieter verantwortlich für Socket s anweist, die Länge der Warteschlange anhängiger Verbindungen zu einem maximalen angemessenen Wert einzustellen.

Andere Tipps

Es gibt eine sehr lange Antwort auf dieses in der Winsock Programmierer FAQ . Es wird ausführlich auf die Standardeinstellung, und den dynamischen Rückstand Feature in einem Hotfix hinzugefügt NT 4.0.

ich mit zweiter SOMAXCONN, es sei denn, Sie haben einen bestimmten Grund eine kurze Warteschlange zu verwenden.

Beachten Sie, dass, wenn es keinen Platz in der Warteschlange für eine neue Verbindung ist, wird kein RST gesendet werden, so dass der Client automatisch fortzusetzen versuchen durch Neuübertragung SYN zu verbinden.

Auch kann der Rückstand Argument unterschiedliche Bedeutungen in verschiedenen Socket-Implementierungen haben.

  • In den meisten ist es die Größe der halboffenen Verbindungswarteschlange bedeutet, in einigen es die Größe des fertigen Verbindungswarteschlange bedeutet.
  • In vielen Implementierungen wird der Rückstand Argument multipliziert, um eine unterschiedliche Länge der Warteschlange zu liefern.
  • Wenn ein Wert festgelegt, dass zu groß ist, alle Implementierungen wird der Wert auf maximale Länge der Warteschlange sowieso still gestutzt.

Als Warnung an alle mit boost Asio wird der SOMAXCONN Wert als 5 mit Boost verwendet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top