public void StartQuizGame(IWebSocketConnection Socket)
 {
     //if quiz game already started send messages in memory to new connection
     if (quizGame != null && quizGame.Messages != null && quizGame.Messages.Any())
     {
         foreach (var message in quizGame.Messages.OrderBy(d => d.Key))
         {
             QuizMessage msg = new JavaScriptSerializer().Deserialize<QuizMessage>(message.Value);
             if (msg.SocketId == Guid.Empty)
             {
                 Socket.Send(message.Value);
             }
         }
     }
     quizGame = QuizGame.Instance;
     QuizGameStarted = true;
     lock (socketSync)
     {
         if (!sockets.Any(d => d == Socket))
             sockets.Add(Socket);
     }
     AuthenticateUser(Socket.ConnectionInfo.Cookies, Socket);
     if (sockets.Count == 1)
     {
         quizGame.MessageArrived += quizGame_MessageArrived;
         quizGame_MessageArrived(null, null);
         clientPing = new Timer(15000);
         clientPing.Elapsed += clientPing_Elapsed;
         clientPing.Start();
     }
 }
 public void StartQuizGame(IWebSocketConnection Socket)
 {
     socket = Socket;
     quizGame = QuizGame.Instance;
     quizGame.MessageArrived += quizGame_MessageArrived;
 }