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); }
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); }