-
Notifications
You must be signed in to change notification settings - Fork 0
/
icn.py
48 lines (33 loc) · 882 Bytes
/
icn.py
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from multiprocessing import Process
import argparse
import time
import zmq
parser = argparse.ArgumentParser()
parser.add_argument("epns", type=int)
args = parser.parse_args()
context = zmq.Context()
port = "5556"
def beat():
socket = context.socket(zmq.PUB)
socket.bind("tcp://*:%s" % port)
count = 0
target = 0
target_max = args.epns
while True:
count += 1
data = "Ack - Heartbeat: {}".format(count)
print(data)
socket.send_string(str(target))
target += 1
if target == target_max:
target = 0
time.sleep(1)
def ack():
socket = context.socket(zmq.PULL)
socket.bind("tcp://*:%s" % "5555")
while True:
data = socket.recv()
print("Received: {}".format(data))
if __name__ == "__main__":
Process(target=beat).start()
Process(target=ack).start()