public void OnPong(VNetMessagePongClient pong) { if (pong._client.GetUID() != m_client.GetUID()) { return; } Console.WriteLine(pong._client.GetName() + " - pong"); m_delay = VNetCommon.NET_CLIENT_PING_WAIT_TIME; double timeDif = VNetTimer.Inst.GetSystemTimeNow() - pong.timeSent; m_times[m_timeQueueIndex] = timeDif; m_timeQueueIndex = (m_timeQueueIndex + 1) % m_times.Length; m_timeAverage = 0; for (int i = 0; i < m_times.Length; i++) { m_timeAverage += m_times[i]; } m_timeAverage /= m_times.Length; if (timeDif < m_timeBest) { m_timeBest = timeDif; } }
public override VNetMessage Clone() { VNetMessagePongClient clone = (VNetMessagePongClient)base.Clone(); clone.timeSent = timeSent; return(clone); }
// Listener public void OnPing(VNetMessagePingClient ping) { if (ping._client.GetUID() != m_client.GetUID()) { return; } Console.WriteLine(ping._client.GetName() + " - ping"); // Send a pong response VNetMessagePongClient pong = new VNetMessagePongClient(); pong.timeSent = ping.timeSent; m_client.SendNetMessage(pong, false); }