public void ClientConnectedEventTest() { var sReactor = new ServerReactor(); var cReactor = new ClientReactor(); var server = new UcServer(_port, sReactor, _serverDir); server.Start(); var serverConnectionEvent = new AutoResetEvent(false); server.ClientConnected += (_, __) => { var numberOfClients = server.Connections.Count; // potential bug here Assert.AreEqual(1, numberOfClients); serverConnectionEvent.Set(); }; var client = new UCClientConnection(cReactor, _clientDir); var ok = new AutoResetEvent(false); client.Started += (_, __) => { client.Reactor.CallRemoteMethod("TestMethod"); ok.Set(); }; client.Start("127.0.0.1", _port); Assert.IsTrue(ok.WaitOne(50)); Assert.IsTrue(serverConnectionEvent.WaitOne(50)); client.Stop(); server.Stop(); }
protected virtual void Awake() { connections = new List <Connection>(); var transport = GetComponent <ITransport>(); NetworkInterface = transport.CreateServer(NumMaxClients, LagSettings); NetworkInterface.Start(Port); NetworkInterface.NewConnectionEstablished += OnNewConnectionEstablished; NetworkInterface.DisconnectNotification += OnDisconnectNotification; Reactor = new ServerReactor(NetworkInterface); ReplicaManager = new ServerReplicaManager(this); }
public void ReactorConnectionTimingTest() { var sReactor = new ServerReactor(); var cReactor = new ClientReactor(); var server = new UcServer(_port, sReactor, _serverDir); server.Start(); var client = new UCClientConnection(cReactor, _clientDir); var ok = new AutoResetEvent(false); client.Started += (_, __) => { client.Reactor.CallRemoteMethod("TestMethod"); ok.Set(); }; client.Start("127.0.0.1", _port); Assert.IsTrue(ok.WaitOne(50)); client.Stop(); server.Stop(); }
public void TestServerReactor() { var server = new LocalServerInterface(); var reactor = new ServerReactor(server); bool messageHandlerCalled = false; reactor.AddHandler(1, (Connection connection, BitReader bs) => { messageHandlerCalled = true; }); var message = new BitWriter(); message.WriteByte((byte)1); server.EnqueueMessage(Connection.Invalid, message); server.Update(); Assert.IsTrue(messageHandlerCalled); }