public static byte[] getDataModelToByteArray(ProtoTypeEnum type, object model) { switch (type) { case ProtoTypeEnum.CLogin: { return(((CLogin.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.SUserData: { return(((SUserData.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.CEnterRoom: { return(((CEnterRoom.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.COutRoom: { return(((COutRoom.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.SOutRoom: { return(((SOutRoom.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.SFishChapter: { return(((SFishChapter.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.CHangUpRoom: { return(((CHangUpRoom.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.SError: { return(((SError.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.SSingleUpdate: { return(((SSingleUpdate.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.CTest: { return(((CTest.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.STest: { return(((STest.Builder)model).Build().ToByteArray()); } case ProtoTypeEnum.CHeart: { return(((CHeart.Builder)model).Build().ToByteArray()); } } return(null); }
public void sendMessage(ProtoTypeEnum type, byte[] cust) { int length = 0; if (null != cust) { length = cust.Length; } //总长度+类型长度+包体长度 clean_buffers(CommandCollection.SOCK_HEAD_LENGTH + length); //);//初始化缓冲区(需要加上包长度值) writeUShort(Convert.ToUInt16(length + CommandCollection.SOCK_TYPE_LENGTH)); //长度 writeUShort(Convert.ToUInt16(type)); if (0 != length) { writeBytes(cust); //消息内容 } flush(); //推出消息 }
public static System.Object getDataModel(ProtoTypeEnum type) { if (dataModel.ContainsKey(type)) { return(dataModel[type]); } else { switch (type) { case ProtoTypeEnum.CLogin: { return(CLogin.CreateBuilder()); } case ProtoTypeEnum.SUserData: { return(SUserData.CreateBuilder()); } case ProtoTypeEnum.CEnterRoom: { return(CEnterRoom.CreateBuilder()); } case ProtoTypeEnum.COutRoom: { return(COutRoom.CreateBuilder()); } case ProtoTypeEnum.SOutRoom: { return(SOutRoom.CreateBuilder()); } case ProtoTypeEnum.SFishChapter: { return(SFishChapter.CreateBuilder()); } case ProtoTypeEnum.CHangUpRoom: { return(CHangUpRoom.CreateBuilder()); } case ProtoTypeEnum.SError: { return(SError.CreateBuilder()); } case ProtoTypeEnum.SSingleUpdate: { return(SSingleUpdate.CreateBuilder()); } case ProtoTypeEnum.CTest: { return(CTest.CreateBuilder()); } case ProtoTypeEnum.STest: { return(STest.CreateBuilder()); } case ProtoTypeEnum.CHeart: { return(CHeart.CreateBuilder()); } } return(null); } }
public static System.Object getDataModel(ProtoTypeEnum type, byte[] bytes) { switch (type) { case ProtoTypeEnum.CLogin: { CLogin.Builder model; if (dataModel.ContainsKey(type)) { model = (CLogin.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = CLogin.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.SUserData: { SUserData.Builder model; if (dataModel.ContainsKey(type)) { model = (SUserData.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = SUserData.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.CEnterRoom: { CEnterRoom.Builder model; if (dataModel.ContainsKey(type)) { model = (CEnterRoom.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = CEnterRoom.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.COutRoom: { COutRoom.Builder model; if (dataModel.ContainsKey(type)) { model = (COutRoom.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = COutRoom.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.SOutRoom: { SOutRoom.Builder model; if (dataModel.ContainsKey(type)) { model = (SOutRoom.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = SOutRoom.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.SFishChapter: { SFishChapter.Builder model; if (dataModel.ContainsKey(type)) { model = (SFishChapter.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = SFishChapter.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.CHangUpRoom: { CHangUpRoom.Builder model; if (dataModel.ContainsKey(type)) { model = (CHangUpRoom.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = CHangUpRoom.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.SError: { SError.Builder model; if (dataModel.ContainsKey(type)) { model = (SError.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = SError.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.SSingleUpdate: { SSingleUpdate.Builder model; if (dataModel.ContainsKey(type)) { model = (SSingleUpdate.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = SSingleUpdate.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.CTest: { CTest.Builder model; if (dataModel.ContainsKey(type)) { model = (CTest.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = CTest.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.STest: { STest.Builder model; if (dataModel.ContainsKey(type)) { model = (STest.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = STest.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } case ProtoTypeEnum.CHeart: { CHeart.Builder model; if (dataModel.ContainsKey(type)) { model = (CHeart.Builder)dataModel[type]; model.Clear(); model.MergeFrom(bytes); } else { model = CHeart.ParseFrom(bytes).ToBuilder(); dataModel.Add(type, model); } return(model); } } return(null); }