def test_rpc_session_1_to_N(): global port iface = "127.0.0.1" # Create 0MQ transport context = zmq.Context() cli = context.socket( zmq.REQ ) cli.connect( "tcp://localhost:%d" % ( port )) # Create the test server and connect client to it svr = context.socket( zmq.XREP ) svr.bind( "tcp://%s:%d" % ( iface, port )) port += 1 pool = 5 # Create a server_session, allowing access to globals (including 'boo'). # Uses one port for the master socket, one for the monitor socket, plus # 'pool' ports for the server pool sockets. svrthr = zmqjsonrpc.server_session_thread( root=globals(), socket=svr, pool=pool, iface=iface, port=port ) svrthr.start() port += 1 + pool # Create a client_session, attempting to access methods of "boo" remses = zmqjsonrpc.client_session( socket=cli, name="boo" ) result = remses.first( "all", "good", "boys", "deserve", 1, "fudge" ) assert result.endswith( "all, good, boys, deserve, 1, fudge" ) del remses svrthr.join() context.term()
def target(m, X, socket): print "Client %2d: starts" % (m) remote = zmqjsonrpc.client_session(socket=socket, name="boo") print "Client %2d: obtains session" % (m) first = None for _ in xrange(X): result = remote.first("all", "good", "boys", "deserve", m, "fudge") if first is None: first = result print "Client %2d: %s" % (m, first) continue assert result == first print "Client %2d: done" % (m)
def target( m, X, socket ): print "Client %2d: starts" % ( m ) remote = zmqjsonrpc.client_session( socket=socket, name="boo" ) print "Client %2d: obtains session" % ( m ) first = None for _ in xrange( X ): result = remote.first( "all", "good", "boys", "deserve", m, "fudge" ) if first is None: first = result print "Client %2d: %s" % ( m, first ) continue assert result == first print "Client %2d: done" % ( m )
def test_rpc_session_1_to_N(): global port iface = "127.0.0.1" # Create 0MQ transport context = zmq.Context() cli = context.socket(zmq.REQ) cli.connect("tcp://localhost:%d" % (port)) # Create the test server and connect client to it svr = context.socket(zmq.XREP) svr.bind("tcp://%s:%d" % (iface, port)) port += 1 pool = 5 # Create a server_session, allowing access to globals (including 'boo'). # Uses one port for the master socket, one for the monitor socket, plus # 'pool' ports for the server pool sockets. svrthr = zmqjsonrpc.server_session_thread(root=globals(), socket=svr, pool=pool, iface=iface, port=port) svrthr.start() port += 1 + pool # Create a client_session, attempting to access methods of "boo" remses = zmqjsonrpc.client_session(socket=cli, name="boo") result = remses.first("all", "good", "boys", "deserve", 1, "fudge") assert result.endswith("all, good, boys, deserve, 1, fudge") del remses svrthr.join() context.term()