public void From(RemoteID in_remote, CMessage in_msg, PacketType in_pkID, CPackOption in_op) { this.remote = in_remote; this.msg = in_msg; this.pkID = in_pkID; this.pkop = in_op; }
public void WriteStart(PacketType pkType, CPackOption pkOption, Int16 PkInternalValue = 0, bool isIDL = false) { if (isIDL) { if (pkType < PacketType.PacketType_User || pkType >= PacketType.PacketType_MaxCount) { // error return; } } else { if (pkType == PacketType.PacketType_Internal) { } else if (pkType == PacketType.PacketType_User) { // 사용자 패킷인경우 일단 관리되게끔 하자 } } this.ResetPosition(); Marshaler.Write(this, pkOption); Marshaler.Write(this, pkType); }
public bool PacketSend(RemoteID remote, CPackOption pko, CMessage sMsg) { if (this.owner == null) { return(false); } return(owner.Send(remote, sMsg, pko)); }
public static void Write(CMessage msg, CPackOption p) { msg.Write(p.m_Dummy); msg.Write(p.m_remote); msg.Write(p.m_from); msg.Write(p.m_protocol); msg.Write(p.m_pack_mode); msg.Write(p.m_dmy_ex1); msg.Write(p.m_dmy_ex2); }
public PacketType ReadStart(out CPackOption op) { position = 0; Marshaler.Read(this, out op); PacketType pkType = (PacketType)BitConverter.ToInt16(this.buffer, position); position += 2; return(pkType); }
public static void Read(CMessage msg, out CPackOption p) { CPackOption data = new CPackOption(); msg.Read(out data.m_Dummy); msg.Read(out data.m_remote); msg.Read(out data.m_from); msg.Read(out data.m_protocol); msg.Read(out data.m_pack_mode); msg.Read(out data.m_dmy_ex1); msg.Read(out data.m_dmy_ex2); p = data; }
protected void PreparePacket(RemoteID remote, RemoteID from, CMessage msg, CPackOption op) { if (op.m_pack_mode == PacketMode8.PM_Encrypt_Mode) { msg.Encrypt(); } // remote target처리 Int32 remote_target = (Int32)remote; byte[] temp_remote = BitConverter.GetBytes(remote_target); temp_remote.CopyTo(msg.buffer, 4); // CPackOption의 순서에 따라 정확한 위치에 덮어써준다 // remote from Int32 remote_from = (Int32)from; temp_remote = BitConverter.GetBytes(remote_from); temp_remote.CopyTo(msg.buffer, 8); // CPackOption의 순서에 따라 정확한 위치에 덮어써준다 }
public virtual bool Send(RemoteID remote, CMessage msg, CPackOption op) { return(false); }
protected virtual bool RecvInternalMessage(RemoteID remote, PackInternal pkID, CMessage msgData, CPackOption op) { return(false); }