Wie zu verwenden Zeromq - inproc-und ipc-Transporte?

Ich bin ein Neuling auf ZERMQ. ZeroMQ TCP, INPROC-und IPC-Transporte. Ich Suche Beispiele für die Verwendung von python und inproc in Winx64 und python 2.7, die könnten auch für linux.

Außerdem bin ich auf der Suche für UDP-Transportmittel und kann nicht finden, Beispiele.

Das einzige Beispiel, das ich gefunden ist

import zmq
import zhelpers

context = zmq.Context()

sink = context.socket(zmq.ROUTER)
sink.bind("inproc://example")

# First allow 0MQ to set the identity
anonymous = context.socket(zmq.XREQ)
anonymous.connect("inproc://example")
anonymous.send("XREP uses a generated UUID")
zhelpers.dump(sink)

# Then set the identity ourself
identified = context.socket(zmq.XREQ)
identified.setsockopt(zmq.IDENTITY, "Hello")
identified.connect("inproc://example")
identified.send("XREP socket uses REQ's socket identity")
zhelpers.dump(sink)

Die Verwendung Fall, dass ich denken werde, ist: UDP Verbreitung von Informationen. Testen von Push/Pull unter Verwendung von TCP ist schneller oder würde inproc schneller sein.

Hier die test-Beispiel>..............

Server:

import zmq
import time

context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("inproc://example2")

while True:
    #  Wait for next request from client
    message = socket.recv()
    print "Received request: ", message

    #  Do some 'work'
    time.sleep (1)        #   Do some 'work'

    #  Send reply back to client
    socket.send("World")

Client:

import zmq

context = zmq.Context()

#  Socket to talk to server
print "Connecting to hello world server..."
socket = context.socket(zmq.REQ)
socket.connect ("inproc://example2")

#  Do 10 requests, waiting each time for a response
for request in range (1,10):
    print "Sending request ", request,"..."
    socket.send ("Hello")

    #  Get the reply.
    message = socket.recv()
    print "Received reply ", request, "[", message, "]"

Error Msg:

 socket.connect ("inproc://example2")
File "socket.pyx", line 547, in zmq.core.socket.Socket.connect (zmq\core\socket.c:5347)
zmq.core.error.ZMQError: Connection refused

InformationsquelleAutor der Frage Merlin | 2011-12-13

Schreibe einen Kommentar