def __init__(self): super(myclient, self).__init__() self.wrapper = zmqdecorators.zmq_bonjour_connect_wrapper(zmq.DEALER, SERVICE_NAME) zmqdecorators.subscribe_topic(SERVICE_NAME, 'testsignal', self.testsignal_callback) self.pcb = ioloop_mod.PeriodicCallback(self.request_testsignal, 500) self.pcb.start()
def __init__(self, myname): super(myclient, self).__init__() self.myname = myname self.wrapper = zmqdecorators.zmq_bonjour_connect_wrapper(zmq.DEALER, SERVICE_NAME) self.stream = self.wrapper.stream self.stream.on_recv(self.client_recv_callback) self.pcb = ioloop_mod.PeriodicCallback(self.send_random_data, 100) self.pcb.start()
def __init__(self, device): super(myclient, self).__init__() self.x = 0 self.y = 0 self.rx = 0 self.ry = 0 self.input_dev = device self.wrapper = zmqdecorators.zmq_bonjour_connect_wrapper( zmq.DEALER, SERVICE_NAME) self.stream = self.wrapper.stream self.stream.on_recv(self.client_recv_callback) self.evthandler = ioloop_mod.IOLoop.instance().add_handler( self.input_dev.fileno(), self.handle_device_event, ioloop_mod.IOLoop.instance().READ)
self.mcp_zmq_wrapper = mcp_zmq_wrapper def cmd(self, cmd, *args): """The command arguments must be JSON encoded to be transferred via ZMQ""" #print("Calling self.mcp_zmq_wrapper.call('send_command', %s, %s, %s)" % (self.identity, cmd, json.dumps(*args))) zmqdecorators.call_sync(self.mcp_zmq_wrapper, 'send_command', str(self.identity), str(cmd), json.dumps(args)) if __name__ == "__main__": import sys, os # Handle the (optional) command line arguments if len(sys.argv) >= 2: # Manual IP & port config MCP_METHODS_SERVICE = (sys.argv[1], MCP_METHODS_PORT) MCP_SIGNALS_SERVICE = (sys.argv[1], MCP_SIGNALS_PORT) print("Connecting to MCP") mcp_zmq_wrapper = zmqdecorators.zmq_bonjour_connect_wrapper( zmq.DEALER, MCP_METHODS_SERVICE) print("Got MCP identity %s" % mcp_zmq_wrapper.socket.getsockopt(zmq.IDENTITY)) gm = gamemaster(mcp_zmq_wrapper) e = gm.get_worker('EVERYONE') print("""e = gm.get_worker('EVERYONE') # proxy for all workers created """) print("""create new worker proxies: p = gm.get_worker('worker_id') """) print( """try: e.cmd('wd:get', 'http://www.aalto.fi/') # Note this, returns as soon as MCP has queued the message to workers""" )
import random import sys myname = sys.argv[1] # import sys, os # libs_dir = os.path.join(os.path.dirname( os.path.realpath( __file__ ) ), '..') # if os.path.isdir(libs_dir): # sys.path.append(libs_dir) import zmqdecorators service_name = "test_asyncrpc" # wrapper = zmqdecorators.ct.get_by_name_or_create(service_name, zmq.DEALER) wrapper = zmqdecorators.zmq_bonjour_connect_wrapper(zmq.DEALER, service_name) stream = wrapper.stream def client_recv_callback(message_parts): print "%s: client_recv_callback got %s" % (myname, repr(message_parts)) stream.on_recv(client_recv_callback) def send_random_data(): data = "%d" % random.randint(0, 100000) data2 = "%d" % random.randint(0, 10) # zmqdecorators.call(service_name, "beer", data)
def __init__(self, identity, mcp_zmq_wrapper): self.identity = identity self.mcp_zmq_wrapper = mcp_zmq_wrapper def cmd(self, cmd, *args): """The command arguments must be JSON encoded to be transferred via ZMQ""" #print("Calling self.mcp_zmq_wrapper.call('send_command', %s, %s, %s)" % (self.identity, cmd, json.dumps(*args))) zmqdecorators.call_sync(self.mcp_zmq_wrapper, 'send_command', str(self.identity), str(cmd), json.dumps(args)) if __name__ == "__main__": import sys,os # Handle the (optional) command line arguments if len(sys.argv) >= 2: # Manual IP & port config MCP_METHODS_SERVICE = (sys.argv[1], MCP_METHODS_PORT) MCP_SIGNALS_SERVICE = (sys.argv[1], MCP_SIGNALS_PORT) print("Connecting to MCP") mcp_zmq_wrapper = zmqdecorators.zmq_bonjour_connect_wrapper(zmq.DEALER, MCP_METHODS_SERVICE) print("Got MCP identity %s" % mcp_zmq_wrapper.socket.getsockopt(zmq.IDENTITY)) gm = gamemaster(mcp_zmq_wrapper) e = gm.get_worker('EVERYONE') print("""e = gm.get_worker('EVERYONE') # proxy for all workers created """) print("""create new worker proxies: p = gm.get_worker('worker_id') """) print("""try: e.cmd('wd:get', 'http://www.aalto.fi/') # Note this, returns as soon as MCP has queued the message to workers""")