def make_session(config): @coroutine def on_join(session, details): print("on_join: {}".format(details)) def add2(a, b): return a + b yield session.register(add2, 'com.example.add2') try: res = yield session.call('com.example.add2', 2, 3) print("result: {}".format(res)) except Exception as e: print("error: {}".format(e)) finally: session.leave() session = Session(config=config) session.on('join', on_join) return session if __name__ == '__main__': session = make_session() connection = Connection() react(connection.start, [session])
session.leave() connection.on('join', on_join) if __name__ == '__main__': #import txaio #txaio.use_twisted() #txaio.start_logging(level='debug') transports = [{ 'type': 'rawsocket', 'serializer': 'msgpack', 'endpoint': { 'type': 'unix', 'path': '/tmp/cb1.sock' } }, { 'type': 'websocket', 'url': 'ws://127.0.0.1:8080/ws', 'endpoint': { 'type': 'tcp', 'host': '127.0.0.1', 'port': 8080 } }] connection = Connection(transports=transports) connection.on('start', main) react(connection.start)
if __name__ == '__main__': #import txaio #txaio.use_twisted() #txaio.start_logging(level='debug') transports = [ { 'type': 'rawsocket', 'serializer': 'msgpack', 'endpoint': { 'type': 'unix', 'path': '/tmp/cb1.sock' } }, { 'type': 'websocket', 'url': 'ws://127.0.0.1:8080/ws', 'endpoint': { 'type': 'tcp', 'host': '127.0.0.1', 'port': 8080 } } ] connection = Connection(transports=transports) connection.on('start', main) react(connection.start)
def add2(a, b): return a + b yield self.register(add2, u'com.example.add2') try: res = yield self.call(u'com.example.add2', 2, 3) print("result: {}".format(res)) except Exception as e: print("error: {}".format(e)) finally: print('leaving ..') #self.leave() def on_leave(self, details): print('on_leave xx: {}'.format(details)) self.disconnect() def on_disconnect(self): print('on_disconnect') if __name__ == '__main__': transports = u'ws://localhost:8080/ws' connection = Connection(transports=transports) connection.session = MySession react(connection.start)
from twisted.internet.task import react from twisted.internet.defer import inlineCallbacks as coroutine from autobahn.twisted.connection import Connection @coroutine def main(reactor, connection): transport = yield connection.connect() session = yield transport.join(u'realm1') result = yield session.call(u'com.example.add2', 2, 3) yield session.leave() yield transport.disconnect() yield connection.close() if __name__ == '__main__': connection = Connection() connection.on('start', main) react(connection.start)
def add2(a, b): return a + b yield self.register(add2, 'com.example.add2') try: res = yield self.call('com.example.add2', 2, 3) print("result: {}".format(res)) except Exception as e: print("error: {}".format(e)) finally: print('leaving ..') #self.leave() def on_leave(self, details): print('on_leave xx: {}'.format(details)) self.disconnect() def on_disconnect(self): print('on_disconnect') if __name__ == '__main__': transports = 'ws://localhost:8080/ws' connection = Connection(transports=transports) connection.session = MySession react(connection.start)