//Server - 연결 시작 public void UdpConnection(DataPacket packet) { Debug.Log("연결 시작"); UDPConnectionPacket udpConnectionPacket = new UDPConnectionPacket(packet.msg); UDPConnectionData udpConnectionData = udpConnectionPacket.GetData(); DataSender.Instance.udpId = new int[udpConnectionData.playerNum]; for (int userIndex = 0; userIndex < udpConnectionData.playerNum; userIndex++) { string endPoint = udpConnectionData.endPoint[userIndex]; if (endPoint == NetworkManager.Instance.ServerSock.LocalEndPoint.ToString()) { NetworkManager.Instance.SetMyIndex(userIndex); } } StartCoroutine(SceneChanger.Instance.CheckLoading(udpConnectionData.playerNum + 3)); NetworkManager.Instance.InitializeUdpConnection(); NetworkManager.Instance.ReSendManager.Initialize(udpConnectionData.playerNum); DataSender.Instance.InitializeUdpSend(NetworkManager.Instance.ClientSock); for (int userIndex = 0; userIndex < udpConnectionData.playerNum; userIndex++) { string endPoint = udpConnectionData.endPoint[userIndex]; string ip = endPoint.Substring(0, endPoint.IndexOf(":")); IPEndPoint newEndPoint = new IPEndPoint(IPAddress.Parse(ip), NetworkManager.clientPortNumber + userIndex); NetworkManager.Instance.UserIndex.Add(new UserIndex(newEndPoint, userIndex)); if (endPoint != NetworkManager.Instance.ServerSock.LocalEndPoint.ToString()) { Debug.Log("연결 아이피 : " + newEndPoint.ToString()); NetworkManager.Instance.ConnectP2P(newEndPoint); } } DungeonManager.Instance.InitializePlayer(udpConnectionData.playerNum); DataSender.Instance.RequestMonsterSpawnList(DungeonManager.Instance.DungeonId, DungeonManager.Instance.DungeonLevel); DataSender.Instance.RequestMonsterStatusData(DungeonManager.Instance.DungeonId, DungeonManager.Instance.DungeonLevel); }
//Server - 연결 시작 public void UdpConnection(DataPacket packet) { Debug.Log("연결 시작"); UDPConnectionPacket udpConnectionPacket = new UDPConnectionPacket(packet.msg); UDPConnectionData udpConnectionData = udpConnectionPacket.GetData(); DataSender.Instance.udpId = new int[udpConnectionData.playerNum]; for (int userIndex = 0; userIndex < udpConnectionData.playerNum; userIndex++) { string endPoint = udpConnectionData.endPoint[userIndex]; if (endPoint == networkManager.ServerSock.LocalEndPoint.ToString()) { networkManager.SetMyIndex(userIndex); } } networkManager.InitializeUdpConnection(); networkManager.ReSendManager.Initialize(udpConnectionData.playerNum); DataSender.Instance.InitializeUdpSend(networkManager.ClientSock); for (int userIndex = 0; userIndex < udpConnectionData.playerNum; userIndex++) { string endPoint = udpConnectionData.endPoint[userIndex]; string ip = endPoint.Substring(0, endPoint.IndexOf(":")); IPEndPoint newEndPoint = new IPEndPoint(IPAddress.Parse(ip), NetworkManager.clientPortNumber + userIndex); networkManager.UserIndex.Add(new UserIndex(newEndPoint, userIndex)); if (endPoint != networkManager.ServerSock.LocalEndPoint.ToString()) { Debug.Log("연결 아이피 : " + newEndPoint.ToString()); networkManager.ConnectP2P(newEndPoint); } } if (SceneChanger.Instance.CurrentScene == SceneChanger.SceneName.LoadingScene) { SceneChanger.Instance.LoadingCheck[2] = true; } }