// deserialize join result data public bool Deserialize(ref JoinResultData data) { // set deserialize data bool result = (GetDataSize() > 0) ? true : false; // data read failure -> method exit if (!result) { return(false); } // return data initialize bool joinResult = false; string message = null; // data deserizlize result &= Deserialize(ref joinResult); result &= Deserialize(ref message, (int)GetDataSize()); // input data data.joinResult = joinResult; data.message = message; // return result return(result); }
// serialize join result data public bool Serialize(JoinResultData data) { // clear buffer Clear(); // serialize element bool result = true; result &= Serialize(data.joinResult); result &= Serialize(data.message); // failure serialize -> method exit if (!result) { return(false); } // success serialize -> return result return(result); }
// receive section // join request public void ReceiveJoinRequest(Socket clientSocket, byte[] data) { // receive packet serialize JoinRequestPacket receivePacket = new JoinRequestPacket(data); JoinRequestData joinRequestData = receivePacket.GetData(); // process - player join bool result; string resultString; result = dataProcessor.JoinPlayer(joinRequestData.id, joinRequestData.password, out resultString); // make result data JoinResultData sendData = new JoinResultData(); sendData.joinResult = result; sendData.message = resultString; // make result packet JoinResultPacket sendPacket = new JoinResultPacket(sendData); // send result packet networkProcessor.Send(clientSocket, sendPacket); }