[Twisted-Python] Limiting the number of connections

Itamar Turner-Trauring itamar at itamarst.org
Sun Dec 9 05:57:16 MST 2012


On 12/09/2012 05:31 AM, Miha Valencic wrote:
> No, the server shouldn't accept() the socket after n connections are
> opened(). But see previous paragraph.

You can stop accept()ing by calling stopReading() on the returned port 
object:

port = reactor.listenTCP(....)
port.stopReading()

And start again by calling startReading().

However:
  - When you are accept()ing, it will accept() a few at a time.
  - Even if you stop accept()ing, the OS will still do TCP handshakes, 
approximately up to a limit determined by one of the arguments passed to 
listenTCP.
  - After hitting the limit, clients will get connection refused, IIRC.

In general it's better to do a protocol-level solution, as Adi Roiban 
suggested.




More information about the Twisted-Python mailing list