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