Exemple #1
0
 private void HandleGameServerHandshakeRequestUDP(GameServerHandshakeRequestUDP mess, IPEndPoint remoteEndPoint)
 {
     foreach (var conn in GameClientConnections)
         if (conn.ConnectionStatus.ClientKey != null && conn.ConnectionStatus.ClientKey.SequenceEqual(mess.GameClientKey))
             if (conn.RemoteUDPEndPoint == null)
                 conn.RemoteUDPEndPoint = remoteEndPoint;
 }
Exemple #2
0
 private void HandleConnectionHandshakingOnClient()
 {
     if (!IsConnectedToGameServer) return;
     if (GameServerConnection.PreviousHandshakeAttempt == TimeSpan.Zero)
         GameServerConnection.FirstHandshakeAttempt = GameServerConnection.PreviousHandshakeAttempt = Game.GameTime.TotalRealTime;
     if (Game.GameTime.TotalRealTime > GameServerConnection.FirstHandshakeAttempt + HANDSHAKE_TIMEOUT) return;
     if (Game.GameTime.TotalRealTime > GameServerConnection.PreviousHandshakeAttempt + HANDSHAKE_ATTEMPT_INTERVAL)
     {
         GameServerConnection.PreviousHandshakeAttempt = Game.GameTime.TotalRealTime;
         var handshake = new GameServerHandshakeRequestUDP { GameClientKey = GetAssaultWingInstanceKey() };
         GameServerConnection.Send(handshake);
     }
 }