| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import json
- import datetime
- import zmq
- import asyncio
- from PIL import Image
- from io import BytesIO
- import base64
- import zmq, sys
- class SmartShooter:
- SET_REQ = "tcp://127.0.0.1:54544"
- LISTEN_REQ = "tcp://127.0.0.1:54543"
- def send_tcp_message(self, socket, code):
- exit(1)
- req = {}
- req["msg_type"] = "Request"
- req["msg_id"] = "ActivateLicense"
- req["msg_seq_num"] = 0
- req["ActivationCode"] = code
- socket.send_string(json.dumps(req))
- rep = socket.recv()
- str_msg = rep.decode("utf-8")
- json_msg = json.loads(str_msg)
- return json_msg["msg_result"]
- def connect_send(self):
- context = zmq.Context()
- req_socket = context.socket(zmq.REQ)
- req_socket.connect(self.SET_REQ)
- if self.send_tcp_message(req_socket, True):
- print("License activated")
- else:
- print("Failed to activate license", file=sys.stderr)
- def connect_listen(self):
- context = zmq.Context()
- sub_socket = context.socket(zmq.SUB)
- sub_socket.setsockopt(zmq.SUBSCRIBE, b"")
- sub_socket.connect(self.LISTEN_REQ)
- while True:
- raw = sub_socket.recv()
- str_msg = raw.decode("utf-8")
- json_msg = json.loads(str_msg)
- # if args.nopings and json_msg["msg_id"] == "NetworkPing":
- # continue
- # print("{0}: {1}".format(datetime.datetime.now(), json_msg["msg_id"]))
- # if not args.quiet:
- # print(str_msg)
|