def __init__(self, endpoint, connCallback = None, stateCallback = None, sockReadCallback = None, sockStateCallback = None, name = "", ): """Construct a socket server Inputs: - endpoint: a Twisted endpoint, e.g. twisted.internet.endpoints.TCP4ClientEndpoint - connCallback: function to call when a client connects; it receives the following arguments: - sock, a Socket - stateCallback: function to call when server changes state; it receives one argument: this server - sockReadCallback: function for each server socket to call when it receives data; See BaseSocket.addReadCallback for details - sockStateCallback: function for each server socket to call when it receives data See BaseSocket.addStateCallback for details - name: a string to identify this socket; strictly optional """ self._endpoint = endpoint self._protocol = None self._closeDeferred = None BaseServer.__init__(self, connCallback = connCallback, stateCallback = stateCallback, sockReadCallback = sockReadCallback, sockStateCallback = sockStateCallback, name = name, ) self._numConn = 0 Timer(0, self._startListening) # let device be fully constructed before listening
def __init__( self, connCallback=nullCallback, port=0, stateCallback=nullCallback, sockReadCallback=nullCallback, sockStateCallback=nullCallback, name="", ): """Construct a socket server Inputs: - connCallback: function to call when a client connects; it receives the following arguments: - sock, a Socket - port port number or name of supported service; if 0 then a port is automatically chosen - stateCallback: function to call when server changes state; it receives one argument: this server - sockReadCallback: function for each server socket to call when it receives data; See BaseSocket.setReadCallback for details - sockStateCallback: function for each server socket to call when it receives data See BaseSocket.addStateCallback for details - name: a string to identify this socket; strictly optional Warning: stateCallback does not get all state changes reliably. It gets Listening as soon as the server is created (even though it is not listening yet) and the only other notice is closure when close is called. """ self._port = port self._connCallback = connCallback BaseServer.__init__( self, connCallback=connCallback, stateCallback=stateCallback, sockReadCallback=sockReadCallback, sockStateCallback=sockStateCallback, name=name, ) self._tkNewConn = RO.TkUtil.TclFunc(self._newConnection) sockArgs = ( '-server', self._tkNewConn.tclFuncName, port, ) self._tkSocketWrapper = _TkSocketWrapper(sockArgs=sockArgs, name=name) self._setState(BaseServer.Listening)
def __init__(self, connCallback = nullCallback, port = 0, stateCallback = nullCallback, sockReadCallback = nullCallback, sockStateCallback = nullCallback, name = "", ): """Construct a socket server Inputs: - connCallback: function to call when a client connects; it receives the following arguments: - sock, a Socket - port port number or name of supported service; if 0 then a port is automatically chosen - stateCallback: function to call when server changes state; it receives one argument: this server - sockReadCallback: function for each server socket to call when it receives data; See BaseSocket.setReadCallback for details - sockStateCallback: function for each server socket to call when it receives data See BaseSocket.addStateCallback for details - name: a string to identify this socket; strictly optional Warning: stateCallback does not get all state changes reliably. It gets Listening as soon as the server is created (even though it is not listening yet) and the only other notice is closure when close is called. """ self._port = port self._connCallback = connCallback BaseServer.__init__(self, connCallback = connCallback, stateCallback = stateCallback, sockReadCallback = sockReadCallback, sockStateCallback = sockStateCallback, name = name, ) self._tkNewConn = RO.TkUtil.TclFunc(self._newConnection) sockArgs = ( '-server', self._tkNewConn.tclFuncName, port, ) self._tkSocketWrapper = _TkSocketWrapper(sockArgs=sockArgs, name=name) self._setState(BaseServer.Listening)