listen() vs accept()
-
Hi,
Wenn ich listen() verwende, bleibt man Programm nicht an der Stelle, wo listen() aufgerufen wird nicht stehen, obwohl es keine eingehenden Verbindungswünsche gibt. Woran liegt das? listen() sollte das Programm doch an der Stelle blockieren?
vg
-
The listen function places a socket in a state in which it is listening for an incoming connection
-
Weder listen() noch accept() blockieren den Programmlauf. Obwohl es keine Verbindungswünsche gibt. Kann mir jemand bitte weiterhelfen?
-
du brauchst beide funktionen. erst listen um festzulegen wieviel verbindungsanfragen zwischengelagert werden können und accept um dann eine verbindung rauszuholen. wenn keine verbindung ansteht dann wartet die funktion bis eine reinkommt.
-
1. Es blockiert doch nur accept() oder?
2. Muss ich die Socketkonfiguration mit listen() mehrmals durchführen, wenn sich mein Server in einer Endlosschleife befindet und ständig mit Clients kommunizieren kann oder muss dass nur einmal konfiguriert werden?vg
-
1.) ja. listen blockiert nicht, es setzt nur ein paar interne werte
2.) nur einmal