Exemple #1
0
        public void ClientRestartTest()
        {
            using (INetworkModel network = CreateNetworkModel())
            {
                // setup client and server actors
                TestClientActor clientActor   = new TestClientActor(network);
                string          serverAddress = "127.0.0.1:99";
                TestServerActor serverActor   = new TestServerActor(network, serverAddress);
                clientActor.AddConnectionTo(serverAddress);

                clientActor.Start();
                serverActor.Start();

                Wait(15);
                Check.That(network.ConnectedSocketCount).IsEqualTo(2);

                clientActor.Stop();
                Wait(15);
                Check.That(network.ConnectedSocketCount).IsEqualTo(0);
            }
        }
Exemple #2
0
        public void TestClientServerActor()
        {
            using (INetworkModel network = CreateNetworkModel())
            {
                // setup client and server actors
                TestClientActor clientActor   = new TestClientActor(network);
                string          serverAddress = "127.0.0.1:99";
                TestServerActor serverActor   = new TestServerActor(network, serverAddress);
                clientActor.AddConnectionTo(serverAddress);

                // client actor should not create any clients when not started
                Check.That(clientActor.WorkingClientCount).IsEqualTo(0);
                // start server and client actor
                serverActor.Start();
                clientActor.Start();

                // wait for connection to be established
                Wait(15);

                Check.That(clientActor.WorkingClientCount).IsEqualTo(1);
                Check.That(clientActor.NetworkClientContexts[0].NetworkClient.State).IsEqualTo(NetworkClientState.Connected);

                Check.That(network.ConnectedSocketCount).IsEqualTo(2);

                // add another connection to server
                clientActor.AddConnectionTo(serverAddress);

                Wait(15);
                Check.That(network.ConnectedSocketCount).IsEqualTo(4);

                Check.That(clientActor.WorkingClientCount).IsEqualTo(2);
                Check.That(clientActor.NetworkClientContexts[0].NetworkClient.State).IsEqualTo(NetworkClientState.Connected);
                Check.That(clientActor.NetworkClientContexts[1].NetworkClient.State).IsEqualTo(NetworkClientState.Connected);

                // stop client actor
                clientActor.Stop();

                Wait(15);
            }
        }