public ReliablePacketWrapper(INetworkPacket_Reliable pPacket, int[] arrRespondPacketType, byte[] arrByte_IncludeHeader, int iSendPort) { p_pPacket = pPacket; p_arrByte_IncludeHeader = arrByte_IncludeHeader; p_iSendPort = iSendPort; p_pDateTimeSend = DateTime.Now; p_arrRespondPacketType = arrRespondPacketType; }
// ========================================================================== // #region Private private void SendPacket(Class_SessionDerived pSessionRecv, byte[] arrByte, INetworkPacket pPacket, int iPort, bool bIsReliableResend = false) { IPEndPoint pSendIP = new IPEndPoint(IPAddress.Parse(pSessionRecv.p_strIP), iPort); _pClientUDP_Send.Send(arrByte, arrByte.Length, pSendIP); INetworkPacket_Reliable pPacketIsReliable = pPacket as INetworkPacket_Reliable; if (bIsReliableResend == false && pPacketIsReliable != null) { pSessionRecv.DoAddReliablePacket(pPacketIsReliable, arrByte, iPort); } }
public void DoAddReliablePacket(INetworkPacket_Reliable pPacket, byte[] arrByte_IncludeHeader, int iSendPort) { int[] arrRespondPacketType = pPacket.INetworkPacket_Reliable_Get_RespondPacketType(); p_mapReliablePacket.Add(arrRespondPacketType, new ReliablePacketWrapper(pPacket, arrRespondPacketType, arrByte_IncludeHeader, iSendPort)); }