예제 #1
0
class PBRPCServer(SessionServer):

    def __init__(self, manager, port = 12345):
        SessionServer.__init__(self, manager)
        self.server = SocketRpcServer(port)
        self.server.registerService(PBRPCImpl(self.manager, self))
        logging.getLogger('protobuf.socketrpc.server').addFilter(PBRPCFilter())

    def run(self):
        self.server.run()
예제 #2
0
    def __init__(self, port, host='localhost'):
        """
        Initialize a RPC server.

        :param port: the port in which to listen for incoming messages
        :type port: int
        :param host: the address to bind to
        :type host: str
        """
        SocketRpcServer.__init__(self, port, host)
        self._server = None
예제 #3
0
    def __init__(self, port, host='localhost'):
        """
        Initialize a RPC server.

        :param port: the port in which to listen for incoming messages
        :type port: int
        :param host: the address to bind to
        :type host: str
        """
        SocketRpcServer.__init__(self, port, host)
        self._server = None
예제 #4
0
파일: rpc.py 프로젝트: LCOGT/python-pbandj
    def run(self):
        """ Start service thread """
        # Create a server instance
        server = SocketRpcServer(self.port, host='', timeout=self.timeout)
        for service in self.service_module.services:
            service_class = getattr(self.service_pb2_module, service.name)
            newservice = service_class()
            for method_name, handler in self.service_module.service_handlers[
                    service.name].items():
                # Attatch a handler to the service class
                setattr(newservice, method_name,
                        self.protobuf_rpc_closure(handler))
            server.registerService(newservice)

        # Start the server
        server.run()
예제 #5
0
 def run(self):
     """ Start service thread """
     # Create a server instance
     server = SocketRpcServer(self.port,host='')
     for service in self.services:
         service_class = self.module.__dict__[service.name]
         handlers = {}
         
         # Link each method to its handler
         for method in service.methods:
             #handlers[method.name] = self._createHandler(method.handler)
             handlers[method.name] = method.handler
         
         # Extend Service class and add handlers
         newservice = type(service.name + "Impl",
                       (service_class,), handlers)
         server.registerService(newservice())
     
     # Start the server
     server.run();
예제 #6
0
import logging

log = logging.getLogger(__name__)
port = 8090


class TimeService(proto.TimeService):
    '''An example service implementation.'''

    def getTime(self, controller, request, done):
        '''Get the current time and return as a response message via the
        callback routine provide.'''
        log.info('Called TestMethod')

        # Create response message
        response = proto.TimeResponse()
        response.str_time = time.asctime()

        # Call provided callback with response message
        done.run(response)


if __name__ == '__main__':
    logging.basicConfig(level=logging.DEBUG)

    # Create service
    service = TimeService()
    server = SocketRpcServer(port)
    server.registerService(service)
    server.run()
            response.response = proto.RES_ERR
            response.response_message = 'failure '
        try:
            response.response_message += proto._COMMAND.values_by_number[request.command].name
        except Exception,ex:
            response.response = proto.RES_ERR
            response.response_message = 'This command is not acceptable: ' + str(ex)



        # Call provided callback with response message
        done.run(response)


if __name__ == '__main__':

    parser = argparse.ArgumentParser(description='This is a demo script by Derya Yinanc.')
    parser.add_argument('-p','--port',help='Port', required=True)
    args = parser.parse_args()
    logging.basicConfig(level=logging.DEBUG)

    # Create service
    try:
        service = PoshService()
        server = SocketRpcServer(int(args.port),host='')
        server.registerService(service)
        server.run()
    except Exception, ex:
        print (ex)