def _create_server(self, port=0): handler = CalculatorHandler() transport = TServerSocket(port) pfactory = THeaderProtocolFactory(client_types=THEADER_CLIENT_TYPES) return TNonblockingServer( Calculator.Processor(handler), transport, inputProtocolFactory=pfactory, outputProtocolFactory=pfactory, threads=1, )
def initTask(self): """Overridden to bind sockets, etc""" super(NBServerTask, self).initTask() self._stopped = False self.socket = TServerSocket(self.host, self.port) self.server = TNonblockingServer(self.processor, self.socket, threads=self.num_threads) self.server.prepare() self.bound_host, self.bound_port = \ self.server.socket.handle.getsockname() self.logger.info("%s Server Started on %s:%s", self.name, self.bound_host, self.bound_port)
def initTask(self): """Overridden to bind sockets, etc""" super(NBServerTask, self).initTask() self._stopped = False # Construct TServerSocket this way for compatibility with fbthrift self.socket = TServerSocket(port=self.port) self.socket.host = self.host self.server = TNonblockingServer(self.processor, self.socket, threads=self.num_threads) self.server.prepare() self.bound_addrs = [] for handle in self._get_socket_handles(self.server.socket): addrinfo = handle.getsockname() self.bound_host, self.bound_port = addrinfo[0:2] self.logger.info("%s Server Started on %s", self.name, self._fmt_hostport(self.bound_host, self.bound_port))
#class MyServer(TNonblockingServer): # def __init__(self, processor, lsocket, inputProtocolFactory=None, outputProtocolFactory=None, threads=10): # super(TNonblockingServer, self).__init__(processor, lsocket) #def close(self): # pass #def handler(self): # pass #def prepare(self): # pass #def serve(self): # pass #def wake_up(self): # pass if __name__ == '__main__': handler = CalculatorHandler() processor = Calculator.Processor(handler) transport = TSocket.TServerSocket(port=9090) tfactory = TTransport.TFramedTransportFactory() pfactory = TBinaryProtocol.TBinaryProtocolFactory() server = TNonblockingServer(processor, transport) server.serve()