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