Hi Francesco,
Thank you for the reply.
Yes I am....I tried protecting it with a lock also but that did not work.
If I cannot share socket like this, do you know then how to build zmq
instances that sends messages to each other in an undefined pattern (ie.
send from either can come at any time and either do not need to wait for a
reply before a new message is being sent)
Should i bind to 2 different ports?
I just thought it was the whole point of PAIR communication that 2 machines
can send and recieve to one another over the same socket.

On Sat, Aug 18, 2018 at 9:45 AM, Francesco <francesco.monto...@gmail.com>
wrote:

> Hi Michael,
> Are you using the same socket from 2 different threads (to run rtx and ttx
> functions) right?
> That's not allowed... Zmq socket objects are not thread safe...
>
> HTH,
> Francesco
>
> Il sab 18 ago 2018, 06:18 Michael Hansen <michaelsve...@gmail.com> ha
> scritto:
>
>> 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

Reply via email to