From e1dbd84e697445ea0c5f73075f56f97e5849ae53 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期五, 08 三月 2019 14:58:15 +0800 Subject: [PATCH] 6328 【后端】优化代码eval - json只适合字符串序列化,并且尽量用于非中文;建议使用cPickle 的dumps 和loads,协议用2,可支持所有类型,缺点为序列化后不可阅读 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py index 9ae3cb6..81227c2 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py @@ -35,7 +35,7 @@ import operator import random import time -import json +import cPickle class CrossPKPlayer(): ## 跨服PK玩家类 @@ -1923,7 +1923,7 @@ overInfoData.OverType = overType overInfoData.PlayerID = playerID overInfoData.WinnerID = winnerID - overInfoData.RoundWinnerInfo = json.dumps(roundWinnerIDList, ensure_ascii=False) + overInfoData.RoundWinnerInfo = cPickle.dumps(roundWinnerIDList, 2) overInfoData.RoundWinnerLen = len(overInfoData.RoundWinnerInfo) overInfoData.PKScore = pkScore overInfoData.DanLV = danLV @@ -1958,7 +1958,7 @@ winnerID = overInfoData.WinnerID roundWinnerIDList = [] try: - roundWinnerIDList = json.loads(overInfoData.RoundWinnerInfo) + roundWinnerIDList = cPickle.loads(overInfoData.RoundWinnerInfo) except: GameWorld.ErrLog("__OnLoginNotifyPKOverInfo roundWinnerIDList eval error! RoundWinnerInfo=%s" % overInfoData.RoundWinnerInfo, playerID) pkScore = overInfoData.PKScore -- Gitblit v1.8.0