Netzwerkprogrammierung mit Sockets

Funktion "listen"

Der Socket ist jetzt angelegt und mit einer Adresse versehen. Nun kann dem System mitgeteilt werden, dass der Server bereit ist, Anfragen zu bearbeiten. Die Funktion dazu ist

int listen( SOCKET sock, int backlog);

Das erste Argument ist wieder der Socket. Das zweite Argument gibt an, wie viele Anfragen die Warteschlange maximal halten soll. Ist der Server gerade beschäftigt, speichert die Warteschlange neu eintreffende Anfragen und gibt sie nach und nach zur Bearbeitung weiter.

Die Größe der Warteschlange ist durch die Systemressourcen beschränkt. Eine sinnvolle Spezifikation ist SOMAXCONN. Damit wird automatisch die Maximalzahl eingestellt. Der entsprechende Abschnitt im Programm lautet:

rc = listen(sockListen, SOMAXCONN);
if (rc == SOCKET_ERROR) {
printf("Error: Cannot listen\\n" );
}