// 프로젝트 레벨에선, 페킷 헤더 내용을 토대로 페이로드에 있는 패킷을 파싱해야 한다. // 테스트 코드이므로 생략 protected override void OnRecievePacket(STestSession pSessionSender, SPacketHeader pPacketHeader, byte[] arrRecieveData, string strIP) { /// <see cref="Network_UDP_Test.로컬_UDP송수신_패킷헤더및_패킷디큐_테스트"/> switch (pPacketHeader.ePacketType) { case ETestPacketType.Test_Struct: { SPacketTest_Struct pPacketTest1; if (arrRecieveData.Convert_ToStruct(out pPacketTest1)) { pPacketCheckRecieve = pPacketTest1; Network_UDP_Test.instance.DoSendPacket(strTestTargetIP, iTestPort, new SPacketTest_Struct(2, "받았다")); bIsRecievePacket_OnFail = true; } } break; case ETestPacketType.Test_Class: break; case ETestPacketType.Test_Reliable_Send: if (iReliableRecvCount++ >= 3) { Network_UDP_Test.instance.DoSendPacket(strTestTargetIP, iTestPort, new SPacketTest_ReliableRespond("정상응답")); } else { Debug.Log("릴라이어블 리시브 카운트 : " + iReliableRecvCount + " " + DateTime.Now.ToString("mm:ss.") + DateTime.Now.Millisecond); Network_UDP_Test.instance.DoSendPacket(strTestTargetIP, iTestPort, new SPacketTest_ReliableRespond("거짓응답")); } break; case ETestPacketType.Test_Reliable_Respond: break; // 정해진 패킷 타입이 아닌 경우 - default: Debug.Log(" OnRecievePacket - " + pPacketHeader.ePacketType); break; } }
protected override void OnGeneratePacketHeader(INetworkPacket pPacket, out bool bIsGenerate, out SPacketHeader pPacketHeader_Generated) { bIsGenerate = true; pPacketHeader_Generated = new SPacketHeader(); }
protected override void OnInitSession(STestSession pSessionSender, SPacketHeader pPacketHeader) { }