I've created a console server which is supposed to update 30 times per second, I'd like you to review it and also I'm curious about the accuracy of the server's loop.using System;using System.Diagnostics;using System.Threading;namespace ZGServer{    class Program    {        //------------------Variables------------------------        double frameInterval = 1000/30;        Stopwatch msstopwatch = new Stopwatch();        Stopwatch tpsstopwatch = new Stopwatch();        int tpscount = 0;        //---------------------------------------------------        static void Main(string[] args)        {            Program program = new Program();            program.Server();        }        void Server()        {            while (true)            {                msstopwatch.Start();                tpsstopwatch.Start();                if (msstopwatch.ElapsedMilliseconds > frameInterval)                {                    tpscount++;                    //Console.WriteLine(msstopwatch.ElapsedMilliseconds - frameInterval);                    //Thread.Sleep((int)(msstopwatch.ElapsedMilliseconds - frameInterval));                    //Console.WriteLine(msstopwatch.ElapsedMilliseconds);                    msstopwatch.Reset();                }                else                    Thread.Sleep(1);                if (tpscount == 30)                {                    Console.WriteLine(tpsstopwatch.ElapsedMilliseconds);                    tpscount = 0;                    tpsstopwatch.Reset();                }            }        }    }}This is the output (It's random every time):1037, 1038, 1039, 1034, 1037, 1033, 1033, 1034.This is the amount of time it takes for it to perform 30 loops.Is this accurate enough for a real-time server over the internet serving multiple clients?
Basic 30 TPS server loop
c#;timer;server