[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.htm>
More information about the zeromq-dev
mailing list