Kamaelia docs : Kamaelia.Internet.TCPServer.TCPServer


For examples and more explanations, see the module level docs.

class TCPServer(Axon.Component.component)

TCPServer(listenport) -> TCPServer component listening on the specified port.

Creates a TCPServer component that accepts all connection requests on the specified port.


  • control : we expect to recieve serverShutdown messages here
  • newconnection : We expected to recieve a message here when a new connection is ready
  • _feedbackFromCSA : for feedback from ConnectedSocketAdapter (shutdown messages)


  • protocolHandlerSignal : For passing on newly created ConnectedSocketAdapter components
  • signal : NOT USED
  • _selectorShutdownSignal : To deregister our interest with the selector
  • _selectorSignal : For registering newly created ConnectedSocketAdapter components with a selector service

Methods defined here


You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

__init__(self, listenport, socketOptions, **argd)

x.__init__(...) initializes x; see x.__class__.__doc__ for signature


Check "_feedbackFromCSA" inbox for socketShutdown messages, and close sockets in response.

closeSocket(self, shutdownMessage)

Respond to a socketShutdown message by closing the socket.

Sends a removeReader and removeWriter message to the selectorComponent. Sends a shutdownCSA(self, theCSA) message to "protocolHandlerSignal" outbox.

createConnectedSocket(self, sock)

Accepts the connection request on the specified socket and returns a ConnectedSocketAdapter component for it.


Handle notifications from the selector service of new connection requests.

Accepts and sets up new connections, wiring them up and passing them on via the "protocolHandlerSignal" outbox.

makeTCPServerPort(self[, suppliedport][, HOST][, minrange][, maxrange][, maxlisten])

Returns (socket,port) - a bound TCP listener socket and the port number it is listening on.

If suppliedPort is not specified, then a random port is chosen between minrange and maxrange inclusive.

maxlisten is the max number of pending requests the server will allow (queue up).


Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT

Kamaelia is an open source project originated from and guided by BBC Research. For more information browse the site or get in contact.

This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)

(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved.

This web site is powered by the same code created for the bicker manor project. For more details, contact Michael Sparks at BBC Research directly (cf contact)