public void UDPClient_ServerDisconnects_ClientDisconnectCallbackCalled() { //Arrange Client client = null; Client clientDisconnect = null; udpServer.Start("127.0.0.1", 0); ObjectTransport serverObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(udpServer); udpClient.Start("127.0.0.1", udpServer.LocalPort); ObjectTransport clientObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(udpClient); clientObjectTransport.OnClientDisconnect(c => clientDisconnect = c); client = clientObjectTransport.GetConnectedClients().First(); Utilities.WaitFor(ref client); Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 1); //Act serverObjectTransport.Stop(); Utilities.WaitFor(ref clientDisconnect); //Assert Assert.AreEqual(client.IPAddress, "127.0.0.1"); Assert.AreEqual(clientDisconnect.IPAddress, "127.0.0.1"); Assert.AreEqual(clientDisconnect, client); Utilities.WaitFor(() => clientObjectTransport.GetConnectedClients().Count() == 0); Utilities.WaitFor(() => serverObjectTransport.GetConnectedClients().Count() == 0); }
public void UDPServer_WhenClientConnects_CallbackFunctionCalled() { bool connected = false; udpServer.Start("127.0.0.1", 0); udpServer.OnClientConnect(c => connected = true); udpClient.Start("127.0.0.1", udpServer.LocalPort); Utilities.WaitFor(ref connected); Assert.IsTrue(connected); }
public static Tuple <ObjectTransport, ObjectTransport> GetConnectObjectTransports() { server = new UDPServerChannel(); server.Start("127.0.0.1", 0); ObjectTransport serverObjectTransport = TestObjectTransportFactory.CreateNewObjectTransport(server); udpclient = new UDPClientChannel(); udpclient.Start("127.0.0.1", server.LocalPort); ObjectTransport client = TestObjectTransportFactory.CreateNewObjectTransport(udpclient); Tuple <ObjectTransport, ObjectTransport> result = new Tuple <ObjectTransport, ObjectTransport>(serverObjectTransport, client); return(result); }