import zmq,json,time def __send_tcp_message(socket, msg): socket.send_string(json.dumps(msg, ensure_ascii=False)) rep = socket.recv() str_msg = rep.decode("utf-8") json_msg = json.loads(str_msg) return json_msg LISTEN_REQ = "tcp://127.0.0.1:54543" SET_REQ = "tcp://127.0.0.1:54544" time_out = 5 context = zmq.Context() req_socket = context.socket(zmq.REQ) # 设置发送超时为 5000 毫秒(5 秒) req_socket.setsockopt(zmq.RCVTIMEO, time_out * 1000) # 设置接收超时为 5000 毫秒(5 秒) req_socket.setsockopt(zmq.SNDTIMEO, time_out * 1000) req_socket.setsockopt(zmq.LINGER, 0) # 设置为 0 表示不等待未完成的操作 req_socket.connect(SET_REQ) req = {} req["msg_type"] = "Request" req["msg_id"] = "Autofocus" req["msg_seq_num"] = 0 req["CameraSelection"] = "All" start_time = time.time() # 添加对焦开始时间记录 json_msg = __send_tcp_message(req_socket, req) end_time = time.time() # 添加对焦结束时间记录 print(f"对焦通信耗时: {end_time - start_time:.4f} 秒") msg_result = json_msg.get("msg_result") print("json_msg", json_msg)