[zeromq-dev] problem with sending and recieving in a simple PAIR setup

Michael Hansen michaelsvenna at gmail.com
Sat Aug 18 00:17:33 CEST 2018


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()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20180818/5b198c1a/attachment.html>


More information about the zeromq-dev mailing list