public IEnumerator Local_UDP_Connect_Session_Test() { Network_UDP_Test.EventMakeSingleton(true); Network_UDP_Test.instance.DoStartListen_UDP(iTestPort); // 세션이 하나도 없어야 한다. while (Network_UDP_Test.instance.p_mapNetworkSession.Count != 0) { yield return(YieldManager.GetWaitForSecond(.1f)); } Assert.IsTrue(Network_UDP_Test.instance.p_mapNetworkSession.Count == 0, Network_UDP_Test.instance.p_mapNetworkSession.ToString()); SPacketTest_Class pSendPacket = new SPacketTest_Class(2, "보냈다"); Network_UDP_Test.instance.DoSendPacket(strTestTargetIP, iTestPort, pSendPacket); yield return(YieldManager.GetWaitForSecond(.05f)); STestSession pSession = Network_UDP_Test.instance.p_mapNetworkSession.Values.First(); DateTime pDateTime = DateTime.Now; float fSecond = pSession.GetLastConnectionTimeGap_Second(ref pDateTime); //Debug.Log("Last Connection Second :" + fSecond); Assert.IsTrue(pSession.p_eConnectionState == ENetworkConnectionState.새로접속 || pSession.p_eConnectionState == ENetworkConnectionState.연결중, pSession.p_eConnectionState.ToString()); // 타임아웃보다 조금 더 기다린다. yield return(YieldManager.GetWaitForSecond(p_fTimeOutSecond + 0.5f)); pDateTime = DateTime.Now; fSecond = pSession.GetLastConnectionTimeGap_Second(ref pDateTime); Assert.IsTrue(pSession.p_eConnectionState == ENetworkConnectionState.연결잠시끊김, pSession.p_eConnectionState.ToString() + " Last Connection Second : " + fSecond); // 타임아웃에서 연결종료시간보다 조금 더 기다린다. yield return(YieldManager.GetWaitForSecond(p_fTimeDeleteSession - p_fTimeOutSecond + 0.5f)); Assert.IsTrue(pSession.p_eConnectionState == ENetworkConnectionState.연결끊김, pSession.p_eConnectionState.ToString() + " Last Connection Second : " + fSecond); }
public IEnumerator 로컬_UDP송수신_세션연결및_해제_테스트() { 네트워크_UDP_테스트.EventMakeSingleton(true); 네트워크_UDP_테스트.instance.DoStartListen_UDP(iTestPort); // 세션이 하나도 없어야 한다. while (네트워크_UDP_테스트.instance.p_mapNetworkSession.Count != 0) { yield return(new WaitForSeconds(.1f)); } Assert.IsTrue(네트워크_UDP_테스트.instance.p_mapNetworkSession.Count == 0, 네트워크_UDP_테스트.instance.p_mapNetworkSession.ToString()); SPacketTest_Class pSendPacket = new SPacketTest_Class(2, "보냈다"); 네트워크_UDP_테스트.instance.DoSendPacket(strTestTargetIP, iTestPort, pSendPacket); yield return(new WaitForSeconds(.05f)); STestSession pSession = 네트워크_UDP_테스트.instance.p_mapNetworkSession.Values.First(); DateTime pDateTime = DateTime.Now; float fSecond = pSession.GetLastConnectionTimeGap_Second(ref pDateTime); //Debug.Log("Last Connection Second :" + fSecond); Assert.IsTrue(pSession.p_eConnectionState == ENetworkConnectionState.새로접속 || pSession.p_eConnectionState == ENetworkConnectionState.연결중, pSession.p_eConnectionState.ToString()); // 타임아웃보다 조금 더 기다린다. yield return(new WaitForSeconds(0.35f)); pDateTime = DateTime.Now; fSecond = pSession.GetLastConnectionTimeGap_Second(ref pDateTime); Assert.IsTrue(pSession.p_eConnectionState == ENetworkConnectionState.연결잠시끊김, pSession.p_eConnectionState.ToString() + "Last Connection Second : " + fSecond); // 타임아웃에서 연결종료시간보다 조금 더 기다린다. yield return(new WaitForSeconds(0.35f)); Assert.IsTrue(pSession.p_eConnectionState == ENetworkConnectionState.연결끊김); }