Пример #1
0
    def __init__(self,
                 socket_type,
                 service_name,
                 service_port=None,
                 service_type=None):
        self.context = zmq.Context()
        self.socket = self.context.socket(socket_type)
        if not service_port:
            service_port = self.socket.bind_to_random_port('tcp://*',
                                                           min_port=49152,
                                                           max_port=65535,
                                                           max_tries=100)
        else:
            self.socket.bind("tcp://*:%d" % service_port)
        print "Bound to port %d" % service_port

        self.stream = ZMQStream(self.socket)
        if not service_type:
            service_type = socket_type_to_service(socket_type)

        if socket_type == zmq.PUB:
            # TODO: how to handle this with ROUTER/DEALER combinations...
            self.heartbeat_timer = ioloop.PeriodicCallback(
                self._hearbeat, 1000)
            self.heartbeat_timer.start()

        if socket_type == zmq.ROUTER:
            self.stream.on_recv(self._method_callback_wrapper)

        bonjour_utilities.register_ioloop(ioloop.IOLoop.instance(),
                                          service_type, service_name,
                                          service_port)
Пример #2
0
    def __init__(self, socket_type, service_name, service_port=None, service_type=None):
        self.context = zmq.Context()
        self.socket = self.context.socket(socket_type)
        if not service_port:
            service_port = self.socket.bind_to_random_port('tcp://*', min_port=49152, max_port=65535, max_tries=100)
        else:
            self.socket.bind("tcp://*:%d" % service_port)
        print "Bound to port %d" % service_port

        self.stream = ZMQStream(self.socket)
        if not service_type:
            service_type = socket_type_to_service(socket_type)

        if socket_type == zmq.PUB:
            # TODO: how to handle this with ROUTER/DEALER combinations...
            self.heartbeat_timer = ioloop.PeriodicCallback(self._hearbeat, 1000)
            self.heartbeat_timer.start()

        if socket_type == zmq.ROUTER:
            self.stream.on_recv(self._method_callback_wrapper)


        bonjour_utilities.register_ioloop(ioloop.IOLoop.instance(), service_type, service_name, service_port)
Пример #3
0

import itertools
import random

service_type="_zmqpubsub._tcp."
service_name="test_pubsub"
service_port=5555


context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind("tcp://*:%d"%service_port)

io_loop=ioloop.IOLoop.instance()
bonjour_utilities.register_ioloop(io_loop, service_type, service_name, service_port)

topic = itertools.cycle(('test','foo','bar'))
stream = ZMQStream(socket)

def send_random_data():
    data = "%s bottles of beer on the wall" % random.randint(0,100000)
    #socket.send_multipart((topic.next(), data))
    stream.send_multipart((topic.next(), data))

pcb = ioloop.PeriodicCallback(send_random_data, 100)
pcb.start()



Пример #4
0
    sys.path.append(libs_dir)
import bonjour_utilities

import itertools
import random

service_type = "_zmqpubsub._tcp."
service_name = "test_pubsub"
service_port = 5555

context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind("tcp://*:%d" % service_port)

io_loop = ioloop.IOLoop.instance()
bonjour_utilities.register_ioloop(io_loop, service_type, service_name,
                                  service_port)

topic = itertools.cycle(('test', 'foo', 'bar'))
stream = ZMQStream(socket)


def send_random_data():
    data = "%s bottles of beer on the wall" % random.randint(0, 100000)
    #socket.send_multipart((topic.next(), data))
    stream.send_multipart((topic.next(), data))


pcb = ioloop.PeriodicCallback(send_random_data, 100)
pcb.start()

io_loop.start()