| | |
| | | import socket_manager |
| | | from db import mysql_data |
| | | from db.redis_manager import RedisUtils, RedisManager |
| | | from log import logger_debug |
| | | from utils import socket_util, kpl_api_util, hosting_api_util, kp_client_msg_manager, global_data_cache_util |
| | | from utils.juejin_util import JueJinHttpApi |
| | | |
| | |
| | | {"code": 100, "msg": f"JSON解析失败"}).encode( |
| | | encoding='utf-8'))) |
| | | continue |
| | | print(data_json["type"]) |
| | | if data_json["type"] == 'register': |
| | | client_type = data_json["data"]["client_type"] |
| | | rid = data_json["rid"] |
| | |
| | | # 记录活跃客户端 |
| | | socket_manager.ClientSocketManager.heart(resultJSON['client_id']) |
| | | except json.decoder.JSONDecodeError as e: |
| | | print("JSON解析出错", result, header) |
| | | if not result: |
| | | sk.close() |
| | | print("JSON解析出错", result, header) |
| | | break |
| | | time.sleep(1) |
| | | except ConnectionResetError as ee: |
| | | socket_manager.ClientSocketManager.del_client(rid) |
| | |
| | | redis = RedisManager(db).getRedis() |
| | | method = getattr(RedisUtils, cmd) |
| | | args_ = [redis, key] |
| | | if args: |
| | | if args is not None: |
| | | if type(args) == tuple or type(args) == list: |
| | | args = list(args) |
| | | for a in args: |
| | |
| | | args_.append(args) |
| | | args_ = tuple(args_) |
| | | result = method(*args_) |
| | | if type(result) == set: |
| | | result = list(result) |
| | | result_str = json.dumps({"code": 0, "data": result}) |
| | | sk.sendall(socket_util.load_header(result_str.encode(encoding='utf-8'))) |
| | | except Exception as e: |
| | | logger_debug.exception(e) |
| | | logger_debug.info(f"Redis操作出错:data_json:{data_json}") |
| | | logging.exception(e) |
| | | sk.sendall(socket_util.load_header( |
| | | json.dumps({"code": 1, "msg": str(e)}).encode(encoding='utf-8'))) |
| | |
| | | args_.append(args) |
| | | args_ = tuple(args_) |
| | | result = method(*args_) |
| | | result_str = json.dumps({"code": 0, "data": result}) |
| | | result_str = json.dumps({"code": 0, "data": result}, default=str) |
| | | sk.sendall(socket_util.load_header(result_str.encode(encoding='utf-8'))) |
| | | except Exception as e: |
| | | logging.exception(e) |
| | |
| | | result_str = json.dumps({"code": 0, "data": {}}) |
| | | sk.sendall(socket_util.load_header(result_str.encode(encoding='utf-8'))) |
| | | pass |
| | | |
| | | else: |
| | | # 断开连接 |
| | | break |
| | |
| | | t1.start() |
| | | |
| | | laddr = "0.0.0.0", 10008 |
| | | print("MiddleServer is at: http://%s:%d/" % (laddr)) |
| | | tcpserver = MyThreadingTCPServer(laddr, MyBaseRequestHandle) # 注意:参数是MyBaseRequestHandle |
| | | tcpserver.serve_forever() |
| | | |