temp.py 1.1 KB

1234567891011121314151617181920212223242526272829
  1. import zmq,json,time
  2. def __send_tcp_message(socket, msg):
  3. socket.send_string(json.dumps(msg, ensure_ascii=False))
  4. rep = socket.recv()
  5. str_msg = rep.decode("utf-8")
  6. json_msg = json.loads(str_msg)
  7. return json_msg
  8. LISTEN_REQ = "tcp://127.0.0.1:54543"
  9. SET_REQ = "tcp://127.0.0.1:54544"
  10. time_out = 5
  11. context = zmq.Context()
  12. req_socket = context.socket(zmq.REQ)
  13. # 设置发送超时为 5000 毫秒(5 秒)
  14. req_socket.setsockopt(zmq.RCVTIMEO, time_out * 1000)
  15. # 设置接收超时为 5000 毫秒(5 秒)
  16. req_socket.setsockopt(zmq.SNDTIMEO, time_out * 1000)
  17. req_socket.setsockopt(zmq.LINGER, 0) # 设置为 0 表示不等待未完成的操作
  18. req_socket.connect(SET_REQ)
  19. req = {}
  20. req["msg_type"] = "Request"
  21. req["msg_id"] = "Autofocus"
  22. req["msg_seq_num"] = 0
  23. req["CameraSelection"] = "All"
  24. start_time = time.time() # 添加对焦开始时间记录
  25. json_msg = __send_tcp_message(req_socket, req)
  26. end_time = time.time() # 添加对焦结束时间记录
  27. print(f"对焦通信耗时: {end_time - start_time:.4f} 秒")
  28. msg_result = json_msg.get("msg_result")
  29. print("json_msg", json_msg)