def _make_transport(self, ep): ep = urlparse(ep) if ep.scheme.startswith('ws'): transport = WsSocket() else: transport = TcpSocket() transport.bind((ep.hostname, ep.port)) return transport
def __init__(self, addr=DEFAULT_ADDR): self.reactor = StdRpcReactor() self.reactor.register('Dump', self.Dump) self.reactor.register('GetSDKVersion', self.GetSDKVersion) self.reactor.register('GetDebugProfilingData', self.GetDebugProfilingData) self.reactor.register('GetScreenSize', self.GetScreenSize) self.reactor.register('Screenshot', self.Screenshot) self.reactor.register('Click', self.Click) self.reactor.register('Swipe', self.Swipe) self.reactor.register('LongClick', self.LongClick) self.reactor.register('SetForeground', self.SetForeground) self.reactor.register('ConnectWindow', self.ConnectWindow) transport = TcpSocket() transport.bind(addr) self.rpc = StdRpcEndpointController(transport, self.reactor) self.running = False self.root = None
def run(self): self.reactor = StdRpcReactor() self.reactor.register('Dump', self.Dump) self.reactor.register('GetSDKVersion', self.GetSDKVersion) self.reactor.register('GetDebugProfilingData', self.GetDebugProfilingData) self.reactor.register('GetScreenSize', self.GetScreenSize) self.reactor.register('Screenshot', self.Screenshot) self.reactor.register('Click', self.Click) self.reactor.register('Swipe', self.Swipe) self.reactor.register('LongClick', self.LongClick) self.reactor.register('SetForeground', self.SetForeground) self.reactor.register('ConnectWindow', self.ConnectWindow) self.reactor.register('Scroll', self.Scroll) self.reactor.register('RClick', self.RClick) self.reactor.register('DoubleClick', self.DoubleClick) self.reactor.register('KeyEvent', self.KeyEvent) transport = TcpSocket() transport.bind(self.addr) self.rpc = StdRpcEndpointController(transport, self.reactor) if self.running is False: self.running = True self.rpc.serve_forever()
from poco.sdk.std.rpc.reactor import StdRpcReactor from poco.utils.net.transport.tcp import TcpSocket from poco.utils.net.stdbroker import StdBroker def Dump(arg): return 'this is Dump ' + arg if __name__ == '__main__': # broker = StdBroker('tcp://*:15003', 'tcp://*:15004') reactor = StdRpcReactor() reactor.register('Dump', Dump) responser = TcpSocket() responser.connect(('localhost', 15003)) rpc_responser = StdRpcEndpointController(responser, reactor) t = threading.Thread(target=rpc_responser.serve_forever) t.daemon = True t.start() requester = TcpSocket() requester.connect(('localhost', 15004)) rpc_requester = StdRpcEndpointController(requester, StdRpcReactor()) t = threading.Thread(target=rpc_requester.serve_forever) t.daemon = True t.start() requester = TcpSocket()