File: radio-dish.py

package info (click to toggle)
pyzmq 20.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 2,228 kB
  • sloc: python: 14,051; ansic: 941; cpp: 315; makefile: 179; sh: 32
file content (25 lines) | stat: -rw-r--r-- 529 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import time
import zmq

ctx = zmq.Context.instance()
radio = ctx.socket(zmq.RADIO)
dish = ctx.socket(zmq.DISH)
dish.rcvtimeo = 1000

dish.bind('udp://*:5556')
dish.join('numbers')
radio.connect('udp://127.0.0.1:5556')

for i in range(10):
    time.sleep(0.1)
    radio.send(b'%03i' % i, group='numbers')
    try:
        msg = dish.recv(copy=False)
    except zmq.Again:
        print('missed a message')
        continue
    print("Received %s:%s" % (msg.group, msg.bytes.decode('utf8')))

dish.close()
radio.close()
ctx.term()