Nachdem der Socket socket
mit
socket_create() erzeugt und mit
socket_bind() mit einem Namen verknüpft wurde,
wird er angewiesen, nach hereinkommenden Verbindungsanforderungen
an dem Socket socket
zu horchen.
Maximal werden backlog
hereinkommende
Verbindungsanforderungen zur späteren Verarbeitung in die
Warteschlange gestellt. Falls eine Verbindungsanforderung ankommt,
wenn die Warteschlange voll ist, bekommt der Client eine
Fehlermeldung mit dem Hinweis ECONNREFUSED.
Oder, falls das zugrundeliegende Protokoll eine wiederholte
Übertragung unterstützt, wird die Anforderung ignoriert, so dass
weitere Verbindungsversuche möglicherweise erfolgreich sind.
Anmerkung: Die maximale Anzahl, der im Parameter
backlog
angegebenen Einträge der Warteschlange, hängt entscheidend vom darunterliegenden Betriebssystem ab. Auf Linux-Systemen wird die Zahl stillschweigend auf SOMAXCONN begrenzt. Wenn auf Win32-Systemen SOMAXCONN gesetzt ist, ist der Dienstanbieter verantwortlich für den Socket und muss die Warteschlange auf einen vernünftigen Maximalwert begrenzen. Es gibt für diese Systeme keine standardmässige Möglichkeit, den aktuellen Wert herauszufinden.
socket_listen() kann nur mit Sockets vom Typ SOCK_STREAM oder SOCK_SEQPACKET benutzt werden.
Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE. Der Fehlercode kann mit der Funktion socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.
Siehe auch socket_accept(), socket_bind(), socket_connect(), socket_create() und socket_strerror().
Zurück | Zum Anfang | Weiter |
socket_last_error | Nach oben | socket_read |