Seite 1 von 1

socket.listen maximum?

Verfasst: Sonntag 27. Februar 2011, 20:16
von Bob13
Hey!
Ich hätte mal eine Frage.
In der python.org socket anleitung auf dieser seite:
http://www.python.org/doc//current/library/socket.html

steht folgendes:
socket.listen(backlog)
Listen for connections made to the socket. The backlog argument specifies the maximum number of queued connections and should be at least 1; the maximum value is system-dependent (usually 5).
Meine Frage:
Wenn man einen socket serverseitige anwendung erstellen will, an der mehr als 5 clienten gleichzeitig laufen, beispielweise einen chat, wie ist das zu lösen?
Oder ist diese Angabe veraltet oder auf den meisten systemen nicht mehr zutreffend?

Gruß

Re: socket.listen maximum?

Verfasst: Sonntag 27. Februar 2011, 21:05
von Dauerbaustelle
Bob13 hat geschrieben:Meine Frage:
Wenn man einen socket serverseitige anwendung erstellen will, an der mehr als 5 clienten gleichzeitig laufen, beispielweise einen chat, wie ist das zu lösen?
Oder ist diese Angabe veraltet oder auf den meisten systemen nicht mehr zutreffend?
`backlog` gibt nur an, wie viele Clients in der Warteschlange (Queue) rumsitzen können. In dieser Queue warten alle Clients, die noch nicht per `accept()` "akzeptiert" wurden. Ist die Warteschlange voll, werden keine neuen Clients mehr in die Warteschlange aufgenommen; es können sich also keinen weiteren Clients verbinden, bis wieder ein Platz in der Queue frei ist.

Re: socket.listen maximum?

Verfasst: Sonntag 27. Februar 2011, 21:09
von Dauerbaustelle
Achso. Wegen der 5. Die ist in der Tat etwas alt. In Linux z.B. ist das Limit 128 (/usr/include/bits/socket.h, SOMAXCON).

Re: socket.listen maximum?

Verfasst: Sonntag 27. Februar 2011, 21:14
von Bob13
okay!
Dann hab ich das mit dem listen jetzt richtig verstanden!
Ich habe bisher angenommen, dass backlog die zahl der maximalen verbindungen ist...

Dann hat sich das ganze auch schon erledigt.