public IEnumerator ShouldConnectMultipleClients() { bool client1Connected = false, client2Connected = false; ClientWorld client2 = new ClientWorld(new ClientOptions { Address = "127.0.0.1", Port = (ushort)(21650 + testCount), WorldName = $"Test_Connection_Client_2_{testCount}" }); NewClientServer(); clientWorld.Connected += e => client1Connected = true; client2.Connected += e => client2Connected = true; clientWorld.Disconnected += () => client1Connected = false; client2.Disconnected += () => client2Connected = false; serverWorld.Listen(); yield return(new WaitForSeconds(0.1f)); clientWorld.Connect(); client2.Connect(); int maxCount = 30; while (maxCount >= 0 && !(client1Connected && client2Connected)) { yield return(new WaitForSeconds(0.25f)); maxCount--; } Assert.IsTrue(client1Connected); Assert.IsTrue(client2Connected); }
public IEnumerator ShouldConnect() { NewClientServer(); serverWorld.Listen(); yield return(new WaitForSeconds(0.1f)); clientWorld.Connect(); Debug.Log("Waiting for client to be connected"); int maxCount = 60; while (maxCount >= 0 && !(clientConnected || clientConnectFailed)) { yield return(new WaitForSeconds(0.1f)); maxCount--; } Debug.Log($"...Finished waiting ({(60f - maxCount) / 10f}seconds)"); Assert.IsTrue(clientConnected); }
public IEnumerator Server_ShouldSendRpcToMultipleClients() { ClientWorld client2 = new ClientWorld(new ClientOptions { Address = "127.0.0.1", Port = (ushort)(21650 + testCount), WorldName = $"TestServer_ShouldSendRpcToMultipleClients{testCount}" }); Debug.Log((ushort)(21650 + testCount)); NewClientServer(); serverWorld.Listen(); yield return(new WaitForSeconds(0.3f)); clientWorld.Connect(); yield return(new WaitForSeconds(0.2f)); bool client2Connected = false; bool client2Failed = false; client2.Connected += e => client2Connected = true; client2.ConnectionFailed += s => client2Failed = true; client2.Connect(); yield return(new WaitForSeconds(0.2f)); int maxCount = 90; while (maxCount >= 0 && !(clientConnected || clientConnectFailed) && !(client2Connected || client2Failed)) { yield return(new WaitForSeconds(0.1f)); maxCount--; } Assert.IsTrue(clientConnected, "Client 1 did not connect to begin test"); Assert.IsTrue(client2Connected, "Client 2 did not connect to begin test"); serverWorld.World.CreateRpcRequest <PlayModeTestRequest>( serverWorld.GetNetworkConnectionEntityById(clientWorld.NetworkId)); serverWorld.World.CreateRpcRequest <PlayModeTestRequest>( serverWorld.GetNetworkConnectionEntityById(client2.NetworkId)); /*Assert.IsNotNull(clientWorld, "cw"); * Assert.IsNotNull(clientWorld.World, "cww"); * Assert.IsNotNull(clientWorld.World.GetExistingSystem<CreateRpcRequestSystem>(), "cws");*/ PlayModeTestRequestReceiveSystem system1 = clientWorld.World.GetExistingSystem <PlayModeTestRequestReceiveSystem>(); PlayModeTestRequestReceiveSystem system2 = client2.World.GetExistingSystem <PlayModeTestRequestReceiveSystem>(); maxCount = 60; while (maxCount >= 0 && !system1.ReceivedRpc && !system2.ReceivedRpc) { yield return(new WaitForSeconds(0.1f)); maxCount--; } Assert.IsTrue(system1.ReceivedRpc && system2.ReceivedRpc); }