Start a threaded TCP socket server.
Start a TCP Socket Server in a new thread that will then start one more thread for each client request. The ip address for binding the server socket is always 'localhost'
112 def start(self, port=8080):
113 r"""!Start a threaded TCP socket server
114
115 Start a TCP Socket Server in a new thread that will
116 then start one more thread for each client request.
117 The ip address for binding the server socket is always 'localhost'
118
119 @param port: Server Port (8080)
120
121 @return True or False"""
122 if not self.isRunning:
123 try:
124 socketserver.TCPServer.allow_reuse_address = True
125 self._server = _ThreadedTCPServer(("", port), _ThreadedTCPRequestHandler)
126 self._server.timeout = self._timeout
127 self._server.alarmQueue = self._alarmQueue
128 self._server.isActive = True
129
130 self._server.clientsConnectedLock = self._clientsConnectedLock
131 self._server.clientsConnected = self._clientsConnected
132
133 self._server_thread = threading.Thread(target=self._server.serve_forever)
134 self._server_thread.name = "Thread-BWServer"
135 self._server_thread.daemon = True
136 self._server_thread.start()
137 logging.debug("TCPServer started in Thread: %s", self._server_thread.name)
138 return True
139 except socket.error as e:
140 logging.error(e)
141 return False
142 else:
143 logging.warning("server always started")
144 return True
145