Beispiel #1
0
        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);
        }
Beispiel #2
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);
        }
Beispiel #3
0
        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);
        }