示例#1
0
        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");
        }
示例#2
0
        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();
        }