ActorChat.Client.Program.Main C# (CSharp) Method

Main() static private method

static private Main ( string args ) : void
args string
return void
        static void Main(string[] args)
        {
            //configure serialization
            var messageSerializer = new ProtobufMessageSerializer(typeof(Message).Assembly, typeof(JoinRoom).Assembly);
            
            var logger = new LoggerConfiguration()
                .ConfigureMOUSETypesDestructure()
                .MinimumLevel.Error()
                .WriteTo.ColoredConsole()
                .CreateLogger();
            
            var coreEventLogger = new SerilogCoreEvents(logger);

            //configure network transport provider
            

            Action<ISimpleMessageHandlingConfigBuilder> messageHandlingConfigurator =
                c => c.HandleMessage<RoomEvent>(OnRoomEvent);

            //Console.WriteLine("Connect to");

            Console.WriteLine("Enter how many clients to run simultaneously");
            var clientCount = int.Parse(Console.ReadLine());

            string roomName = Guid.NewGuid().ToString();


            for (int i = 0; i < clientCount; i++)
            {
                var transport = new LidgrenNetProvider(
                    new NetPeerConfiguration("Public")
                    {
                        ConnectionTimeout = 30
                    },
                    new SerilogLidgrenEvents(logger));
                var config = new NetNodeConfig { SendTimeoutSec = 30, ConnectTimeoutSec = 30 };
                var node = new ClientNode(
                //new[] { "127.0.0.1:20001" },

                new[] { "rurounisfcluster.westeurope.cloudapp.azure.com:20001" },
                transport, coreEventLogger, messageSerializer, messageHandlingConfigurator, config: config);

                try
                {
                    node.Start();
                    node.ExecuteChatUserFlow(roomName).Wait();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }

            Thread.Sleep(-1);
        }