예제 #1
0
        //Stage 1 -> Get reminder from player, that they are still connected -> send a ping packet, with player's ping and latencyID
        internal static void PlayerStillConnectedTCP(byte clientID, Packet packet)
        {
            try
            {
                PlayerServer player = Server.ClientDictionary[clientID].Player;

                player.LastPacketReceivedTCP(DateTime.Now.TimeOfDay);
                ServerSend.PlayerConnectedAcknAndPingTCP(clientID, player.Latency2WayMSTCP, player.GetLatencyIDTCP());
            }
            catch (Exception e) {
                OutputPacketError(clientID, e);
            }
        }
예제 #2
0
        //Stage 2
        internal static void PlayerPingAckTCP(byte clientID, Packet packet)
        {
            try
            {
                byte latencyIDTCP = packet.ReadByte();

                PlayerServer player = Server.ClientDictionary[clientID].Player;

                player.LastPacketReceivedTCP(DateTime.Now.TimeOfDay);
                player.PingAckTCP(latencyIDTCP);
            }
            catch (Exception e) {
                OutputPacketError(clientID, e);
            }
        }