private static void Timer_Elapsed(object sender, ElapsedEventArgs e) { var numberOfCameras = CameraStreamService.CameraTextures.Count; Console.WriteLine( numberOfCameras > 0 ? $"Receiving video signal from {numberOfCameras} cameras. At {CameraStreamService.GetAverageFrames()} FPS" : "Waiting for camera signal"); }
private static void Main(string[] args) { UpdateConfiguration(args); var infoTimer = new Timer(30000); infoTimer.Elapsed += Timer_Elapsed; infoTimer.Enabled = true; infoTimer.Start(); var serverStub = new CameraStreamService(); var server = new Grpc.Core.Server { Services = { CameraStream.BindService(serverStub) }, Ports = { new ServerPort(_serverEndpoint, _port, ServerCredentials.Insecure) } }; server.Start(); Console.WriteLine( $"OfCourseIStillLoveYou.Server is listening on {_serverEndpoint}:{_port}, waiting for incoming camera feed. Type exit for closing the server"); var keyStroke = string.Empty; while (keyStroke != ExitCommand) { keyStroke = Console.ReadLine(); if (!string.IsNullOrWhiteSpace(keyStroke) && keyStroke != ExitCommand) { } Task.Delay(100).Wait(); } server.ShutdownAsync().Wait(); }