Harald, I think this is just a consequence of me using gmail. I copied code directly from my editor (visualcode) into gmail. The formatting was kept this way.
On Sun, Aug 19, 2018 at 8:20 AM, Harald Achitz <harald.ach...@gmail.com> wrote: > Sorry for OT, but since I see this the first time: > How can I put such syntax colored source code into a mail like the OP did? > > Am So., 19. Aug. 2018 um 07:58 Uhr schrieb Michael Hansen < > michaelsve...@gmail.com>: > >> Ahh ok of course. >> This works much better. >> What if I have a setup where I in client A in reality have a lot of >> threads where each thread needs a type of stream of data and in B i have >> connected some sensors. >> These sensors needs to be streamed from B to A such that a group of >> threads needs sensor X another group of threads in A needs output of sensor >> Y etc. >> What would be the best type of architecture for this type of setup? >> >> >> On Sat, Aug 18, 2018, 10:03 Mykola Ostrovskyy via zeromq-dev < >> zeromq-dev@lists.zeromq.org> wrote: >> >>> Michael, >>> >>> ZMQ sockets are not thread safe. Each thread should use a separate >>> socket, so you need a pair of sockets in each test script. >>> >>> Also PAIR is a rather special-purpose type of socket mostly used in >>> scope of one process. >>> >>> I would recommend to use two PUSH-PULL channels for asynchronous >>> communication between peers. Something like: >>> >>> ClientA >>> RecvThread >>> recvsocket.bind(PULL, 9998) >>> SendThread >>> sendsocket.connect(PUSH, 9999) >>> >>> ClientB >>> RecvThread >>> recvsocket.bind(PULL, 9999) >>> SendThread >>> sendsocket.connect(PUSH, 9998) >>> >>> >>> Regards, >>> Mykola >>> >>> >>> сб, 18 авг. 2018 г. в 7:18, Michael Hansen <michaelsve...@gmail.com>: >>> >>>> Hi, >>>> I am not sure I see where there is missing some indentation. >>>> To me it looks okay regarding indentation. >>>> rtx is just a def with a while loop where recv is called and printed in >>>> every iteration. >>>> >>>> On Sat, Aug 18, 2018 at 12:44 AM, Tomer Eliyahu < >>>> tomereliya...@gmail.com> wrote: >>>> >>>>> Aren't you missing indentation in rtx functions? >>>>> >>>>> On Sat, Aug 18, 2018, 01:20 Michael Hansen <michaelsve...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hello, I am quite new to ZMQ which seems like a really nice library. >>>>>> However i seem to be running into some issues already. >>>>>> I have to make a setup with just 2 peers who can send to each other. >>>>>> There is no order in how the clients communicate - however in generel >>>>>> data flows >>>>>> from one to the other and commands from the other to the first. >>>>>> >>>>>> I made a small test as below but communication seem to hang up and >>>>>> only one part is sending. >>>>>> Also - sometimes when i try to run this, i get the following error: >>>>>> >>>>>> 'Resource temporarily unavailable (bundled/zeromq/src/signaler. >>>>>> cpp:301) >>>>>> >>>>>> Abort trap: 6' >>>>>> >>>>>> >>>>>> Here are the 2 components, what am I doing wrong? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> # ============== >>>>>> # = SERVER A >>>>>> # ============== >>>>>> >>>>>> >>>>>> import threading >>>>>> import time >>>>>> import zmq >>>>>> >>>>>> >>>>>> port = 9999 >>>>>> context = zmq.Context() >>>>>> socket = context.socket(zmq.PAIR) >>>>>> socket.connect("tcp://127.0.0.1:%s" % port) >>>>>> >>>>>> >>>>>> def rtx(socket): >>>>>> print('A started receiving...') >>>>>> while 1: >>>>>> print(b'A RECEIVED : %s' % socket.recv()) >>>>>> >>>>>> >>>>>> def ttx(socket): >>>>>> print('A started transmitting...') >>>>>> while 1: >>>>>> socket.send(b'Message from A') >>>>>> time.sleep(1) >>>>>> >>>>>> >>>>>> threading.Thread(target=rtx, args=(socket,)).start() >>>>>> threading.Thread(target=ttx, args=(socket,)).start() >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> # ============== >>>>>> # = SERVER B >>>>>> # ============== >>>>>> >>>>>> >>>>>> import threading >>>>>> import time >>>>>> import zmq >>>>>> >>>>>> >>>>>> port = 9999 >>>>>> context = zmq.Context() >>>>>> socket = context.socket(zmq.PAIR) >>>>>> socket.bind("tcp://127.0.0.1:%s" % port) >>>>>> >>>>>> >>>>>> def rtx(socket): >>>>>> print('B started receiving...') >>>>>> while 1: >>>>>> print(b'B RECEIVED : %s' % socket.recv()) >>>>>> >>>>>> >>>>>> def ttx(socket): >>>>>> print('B started transmitting...') >>>>>> while 1: >>>>>> socket.send(b'Message from B') >>>>>> time.sleep(1) >>>>>> >>>>>> >>>>>> threading.Thread(target=rtx, args=(socket,)).start() >>>>>> threading.Thread(target=ttx, args=(socket,)).start() >>>>>> >>>>>> _______________________________________________ >>>>>> zeromq-dev mailing list >>>>>> zeromq-dev@lists.zeromq.org >>>>>> https://lists.zeromq.org/mailman/listinfo/zeromq-dev >>>>>> >>>>> >>>>> _______________________________________________ >>>>> zeromq-dev mailing list >>>>> zeromq-dev@lists.zeromq.org >>>>> https://lists.zeromq.org/mailman/listinfo/zeromq-dev >>>>> >>>>> >>>> _______________________________________________ >>>> zeromq-dev mailing list >>>> zeromq-dev@lists.zeromq.org >>>> https://lists.zeromq.org/mailman/listinfo/zeromq-dev >>>> >>> _______________________________________________ >>> zeromq-dev mailing list >>> zeromq-dev@lists.zeromq.org >>> https://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >> _______________________________________________ >> zeromq-dev mailing list >> zeromq-dev@lists.zeromq.org >> https://lists.zeromq.org/mailman/listinfo/zeromq-dev >> > > _______________________________________________ > zeromq-dev mailing list > zeromq-dev@lists.zeromq.org > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > >
_______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org https://lists.zeromq.org/mailman/listinfo/zeromq-dev