//处理服务器收到的信息数据,返回gameuser信息 public static GameUser InfoDataDeal(MySQLCtrl mySQLCtrl, Socket socket, string infoStr) { string[] strTemp = DataCtrl.SegmentData(infoStr); GameUser gameuser = new GameUser(); switch (strTemp[0]) { //收到注册数据 case "0": string[] infos = DataCtrl.SegmentData(infoStr.Substring(2)); if (mySQLCtrl.IsExistInDb(infos[0])) { gameuser.Status = "0|0|0|注册邮箱已存在|"; return gameuser; } if (mySQLCtrl.IsNickNameExistInDb(infos[1])) { gameuser.Status = "0|0|0|注册昵称已存在|"; return gameuser; } RegisterDeal(mySQLCtrl, socket, infos, out gameuser); return gameuser; //收到登陆数据 case "1": string[] loadInfo = DataCtrl.SegmentData(infoStr.Substring(2)); if (!mySQLCtrl.IsExistInDb(loadInfo[0])) { gameuser.Status = "0|1|0|登录邮箱未注册|"; return gameuser; } SignDeal(mySQLCtrl, socket, loadInfo, out gameuser); return gameuser; default: return null; } }
//处理注册数据 private static bool RegisterDeal(MySQLCtrl mySQLCtrl, Socket socket, string[] infos, out GameUser gameuser) { if (mySQLCtrl.InsertToDb(infos[0], infos[1], infos[2], infos[3])) { gameuser = new GameUser(infos[0], infos[1], infos[2], infos[3], "0"); gameuser.Status = "0|0|1|"; return true; } gameuser = null; gameuser.Status = "0|0|0|注册失败,请重试|"; return false; }
//处理登陆数据 public static bool SignDeal(MySQLCtrl mySQLCtrl, Socket socket, string[] landInfos, out GameUser gameuser) { gameuser = mySQLCtrl.SelecInDb(landInfos[0]); if (landInfos[1] == gameuser.Pwd) { gameuser.Status = "0|1|1|"; return true; } else { gameuser.Status = "0|1|0|登陆失败,请检查密码或重试|"; return false; } }