Blockiert die Verbindung?
Blockiert die Verbindung?

Video: Blockiert die Verbindung?

Video: Blockiert die Verbindung?
Video: Was blockiert IHN, sich auf Dich einzulassen? | Starke Verbindung & Heiliger Raum 2024, März
Anonim

verbinden ist ein Blockierung standardmäßig anrufen, aber du kannst es nicht machen Blockierung indem das Flag SOCK_NONBLOCK an den Socket übergeben wird. verbinden () blockiert bis zum Beenden des TCP 3-Wege-Handshakes. Handshake auf der Abhörseite wird vom TCP/IP-Stack im Kernel verarbeitet und beendet, ohne den Benutzerprozess zu benachrichtigen.

Ebenso wird gefragt, was ist ein blockierender und ein nicht blockierender Socket?

In Blockierung Modus, Recv, Send, Connect (nur TCP) und Accept (nur TCP) Steckdose API-Aufrufe werden Block auf unbestimmte Zeit, bis die angeforderte Aktion ausgeführt wurde. In nicht - Blockierung Modus kehren diese Funktionen sofort zurück. wählen wird Block bis zum Steckdose ist bereit.

Was ist eine Sperrfunktion? EIN Sperrfunktion rechnet im Grunde ewig. Das ist gemeint mit Blockierung . Sonstiges Sperrfunktionen würde warten, bis IO auftritt. ein Nicht- Blockierung IO-System bedeutet a Funktion startet eine E/A-Aktion, geht dann in den Leerlauf und verarbeitet dann das Ergebnis der E/A-Aktion, wenn es passiert.

Anschließend stellt sich die Frage, ob Socket-Akzeptanz blockiert wird?

annehmen () blockiert den Anrufer, bis eine Verbindung besteht. Wenn kein Platz für Nachrichten verfügbar ist am Steckdose um die zu übertragende Nachricht zu halten, dann blockiert send() normalerweise. Wenn keine Nachrichten am. verfügbar sind Steckdose , wartet der recv-Aufruf auf den Eingang einer Nachricht.

Ist ein Block auswählen?

Wenn das Argument timeout auf ein Objekt vom Typ struct timeval zeigt, dessen Member 0 sind, auswählen () nicht Block . Wenn das Timeout-Argument NULL ist, auswählen () blockiert, bis ein Ereignis bewirkt, dass eine der Masken mit einem gültigen Wert (nicht Null) zurückgegeben wird.

Empfohlen: