""" 与中间服务器的通信协议 """ import json from huaxin_client import constant from utils import socket_util SERVER_HOST = '43.138.167.68' # SERVER_HOST = '192.168.3.122' SERVER_PORT = 10008 if constant.IS_A: SERVER_PORT = 10009 def request(data_json): if type(data_json) == set: data_json = list(data_json) data_bytes = socket_util.load_header(json.dumps(data_json).encode('utf-8')) sk = socket_util.create_socket(SERVER_HOST, SERVER_PORT) try: sk.sendall(data_bytes) result_str, header_str = socket_util.recv_data(sk) result_json = json.loads(result_str) if result_json["code"] != 0: raise Exception(result_json["msg"]) return result_json.get("data") finally: sk.close() # ------------------------------Redis协议---------------------------------- def load_redis_cmd(data): fdata = {"type": "redis", "data": {"ctype": "cmd", "data": data}} return fdata def load_redis_cmds(datas): fdata = {"type": "redis", "data": {"ctype": "cmds", "data": datas}} return fdata # ------------------------------Mysql协议---------------------------------- def load_mysql_cmd(data): fdata = {"type": "mysql", "data": {"ctype": "cmd", "data": data}} return fdata # -------------------------------掘金-------------------------------------- def load_juejin(path_, data_json): fdata = {"type": "juejin", "data": {"ctype": "juejin", "data": {"path": path_, "params": data_json}}} return fdata # ------------------------------开盘啦------------------------------------- def load_kpl(url, data, timeout): fdata = {"type": "kpl", "data": {"ctype": "kpl", "data": {"url": url, "data": data, "timeout": timeout}}} return fdata # ------------------------------看盘消息------------------------------------ def load_kp_msg(msg): fdata = {"type": "kp_msg", "data": {"ctype": "kp_msg", "data": {"msg": msg}}} return fdata # ------------------------------L2订阅列表------------------------------------ def load_l2_subscript_codes(datas): fdata = {"type": "l2_subscript_codes", "data": {"ctype": "l2_subscript_codes", "data": datas}} return fdata # ------------------------------消息推送------------------------------------ def load_push_msg(data): fdata = {"type": "push_msg", "data": {"ctype": "push_msg", "data": data}} return fdata # ------------------------------获取三方板块------------------------------------ def get_third_blocks(code, source): fdata = {"type": "get_third_blocks", "data": {"ctype": "get_third_blocks", "data": {"code": code, "source": source}}} return fdata