Exemplo n.º 1
0
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()
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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 )
Exemplo n.º 4
0
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()