#coding:utf-8 from flask import Blueprint ,Response,request from configparser import ConfigParser from lib.protocol.report.HeartBeatReport_protocol import HeartBeatReport_protocol from lib.protocol.report.LoginReport_protocol import LoginReport_protocol from lib.protocol.report.GPSReport_protocol import GPSReport_protocol from lib.protocol.report.OBDReport_CAN_protocol import OBDReport_CAN_protocol from lib.protocol.report.SecurityStatusReport_protocol import SecurityStatusReport_protocol from lib.protocol.reportPlateform.Common_res import Common_res from lib.protocol.reportPlateform.Login_res import Login_res from lib.socket.ClientSocket import ClientSocket import json import traceback import binascii M_carSimulater_process = Blueprint('M_carSimulater_process', __name__) #用来保存连接的信息 connects = [] #用来保存车机线程 threads = [] ########################################## # 【接口类型】设置socket信息 ########################################## @M_carSimulater_process.route("/porcessSocketSetting",methods=['POST']) def porcessSocketSetting(): host = request.form.get("host") port = request.form.get("port") data = {} if (host == None or port == None): data["status"] = "4003" data["message"] = "Info: 请检查是否传入了空数据!" return Response(json.dumps(data), mimetype='application/json') else: try: # d读取config文件 conf_R = ConfigParser() conf_R.read("config/protocolTools/carSimulater.conf") conf_W = conf_R conf_W["socket"]["host"] = host conf_W["socket"]["port"] = port with open("config/protocolTools/carSimulater.conf", "w") as fi: conf_W.write(fi) data["status"] = "200" data["message"] = "Sucess: " except BaseException as e: # 打印异常信息 traceback.print_exc() data["status"] = "4003" data["message"] = "Error: 处理失败!" return Response(json.dumps(data), mimetype='application/json') ########################################## # 【接口类型】创建一个连接 ########################################## @M_carSimulater_process.route("/createConect",methods=['POST']) def createConect(): data = {} try: conf_R = ConfigParser() conf_R.read("config/protocolTools/carSimulater.conf") if len(connects) < 1: cliSocket = ClientSocket(conf_R.get("socket", "host"), conf_R.getint("socket", "port")) cliSocket.connect() connect = {} socketName = "socket_" + str(len(connects) + 1) connect["name"] = socketName connect["obj"] = cliSocket connects.append(connect) data["status"] = "200" data["message"] = "创建连接成功!" else: data["status"] = "4003" data["message"] = "已经创建了连接!" except BaseException as e: # 打印异常信息 traceback.print_exc() data["status"] = "4003" data["message"] = "Error: 处理失败!" ########################################## # 【接口类型】关闭一个连接 ########################################## @M_carSimulater_process.route("/closeConect",methods=['POST']) def closeConect(): data = {} try: if len(connects) < 1: data["status"] = "4003" data["message"] = "没有课关闭的连接!" else: connects[0]["obj"].close() connects.pop(0) data["status"] = "200" data["message"] = "关闭连接成功!" except BaseException as e: # 打印异常信息 traceback.print_exc() data["status"] = "4003" data["message"] = "Error: 处理失败!"