Ein Port ist nichts anderes als ein Konzept , es ist nicht so, als könnten Sie einige Speicherbits überprüfen und auf einige Informationen warten.
Wenn auf einen Port gelauscht wird, wird
NB: Das sind nur Spekulationen, ich habe keine Kernel-Implementierung untersucht.
BEARBEITEN: Auf der Prozessseite
listen
teilt dem Kernel mit, dass Sie an einem bestimmten rendez-vous-Port
listen
und accept
passiert, entweder puffert der Kernel die neuen Verbindungen oder lehnt sie ab, bis accept
aufgerufen wurde, siehe das entsprechende Handbuch) accept
bindet die Verbindung an einen Kommunikationsport und beginnt mit dem Puffern des eingehenden Pakete recv
(oder poll
oder select
sicherlich) werden Daten aus dem Empfangspuffer Der Kernel extrahiert den Ziel-Port aus eingehenden IP-Paketen und leitet das Paket dann an alle Empfänger weiter, die für diesen bestimmten Port registriert sind (ja, es kann mehrere geben). Ein Benutzerprozess verwendet normalerweise select (2) oder poll (2), um auf ein Ereignis zu warten, aber diese Abfrage unterscheidet sich von der herkömmlichen Abfrage wie "Lese-E / A-Anschluss; Verzögerung 500 ms".
Tags und Links network-programming port listener