public ClientScenarios(IPAddress address) { AsyncTcp.Initialize(this); _address = address; _xorShifter = new XorShift(true); _random = new Random(); }
public void CanStartServer_StartedWithoutError() { AsyncTcp transport = new AsyncTcp(); NetworkServer server = new NetworkServer(0, 2, 4095, transport); server.StartServer(); Thread.Sleep(1000); Assert.IsTrue(server.IsServerActive()); }
public void CanDisconnect_DisconnectedWithoutCrashingServer() { #region Server Initialization //server AsyncTcp serverTransport = new AsyncTcp(); NetworkServer server = new NetworkServer(2402, 5, 4095, serverTransport); server.StartServer(); #endregion Server Initialization Thread.Sleep(1000); #region Clients Initialization //client 1 AsyncTcp client1Transport = new AsyncTcp(); NetworkClient client1 = new NetworkClient("127.0.0.1", 2402, 4095, client1Transport); //client 2 AsyncTcp client2Transport = new AsyncTcp(); NetworkClient client2 = new NetworkClient("127.0.0.1", 2402, 4095, client2Transport); //client3 AsyncTcp client3Transport = new AsyncTcp(); NetworkClient client3 = new NetworkClient("127.0.0.1", 2402, 4095, client3Transport); client1.StartClient(); client2.StartClient(); client3.StartClient(); #endregion Clients Initialization Thread.Sleep(1000); client1.StopClient(); Thread.Sleep(1000); Assert.IsTrue(!client1.IsActive() && server.IsServerActive()); }
public void CanConnect_MultipleClientsConnecting_ConnectionEstablishes() { #region Server Initialization //server AsyncTcp serverTransport = new AsyncTcp(); NetworkServer server = new NetworkServer(2401, 5, 4095, serverTransport); server.StartServer(); #endregion Server Initialization Thread.Sleep(1000); #region Clients Initialization //client 1 AsyncTcp client1Transport = new AsyncTcp(); NetworkClient client1 = new NetworkClient("127.0.0.1", 2401, 4095, client1Transport); //client 2 AsyncTcp client2Transport = new AsyncTcp(); NetworkClient client2 = new NetworkClient("127.0.0.1", 2401, 4095, client2Transport); //client3 AsyncTcp client3Transport = new AsyncTcp(); NetworkClient client3 = new NetworkClient("127.0.0.1", 2401, 4095, client3Transport); client1.StartClient(); client2.StartClient(); client3.StartClient(); #endregion Clients Initialization Thread.Sleep(1000); Assert.IsTrue(client1.IsActive() && client2.IsActive() && client3.IsActive()); }
public ServerScenarios() { AsyncTcp.Initialize(this); }
public void SendPacket_BothSidesReceives() { bool serverReceivedPacket = false; bool clientReceivedPacket = false; #region Server Initialization //server AsyncTcp serverTransport = new AsyncTcp(); NetworkServer server = new NetworkServer(2403, 5, 4095, serverTransport); server.StartServer(); server.RegisterHandler(0, (connection, packet) => { string msg = packet.ReadString(); int msg2 = packet.ReadInteger(); float msg3 = packet.ReadFloat(); if (msg == "I Am Alive!" && msg2 == 12345 && msg3 == 123.456f) { serverReceivedPacket = true; } }); #endregion Server Initialization Thread.Sleep(1000); #region Clients Initialization //client 1 AsyncTcp client1Transport = new AsyncTcp(); NetworkClient client1 = new NetworkClient("127.0.0.1", 2403, 4095, client1Transport); //client 2 AsyncTcp client2Transport = new AsyncTcp(); NetworkClient client2 = new NetworkClient("127.0.0.1", 2403, 4095, client2Transport); //client3 AsyncTcp client3Transport = new AsyncTcp(); NetworkClient client3 = new NetworkClient("127.0.0.1", 2403, 4095, client3Transport); client1.StartClient(); client2.StartClient(); client3.StartClient(); client1.RegisterHandler(0, packet => { string msg = packet.ReadString(); int msg2 = packet.ReadInteger(); float msg3 = packet.ReadFloat(); if (msg == "I Am Alive!" && msg2 == 12345 && msg3 == 123.456f) { clientReceivedPacket = true; } }); #endregion Clients Initialization Thread.Sleep(1000); #region Server Sending Data Packet serverPacket = new Packet(); serverPacket.WriteString("I Am Alive!"); serverPacket.WriteInteger(12345); serverPacket.WriteFloat(123.456f); server.NetworkSendEveryone(0, serverPacket); #endregion Server Sending Data #region Client Sending Data Packet clientPacket = new Packet(); clientPacket.WriteString("I Am Alive!"); clientPacket.WriteInteger(12345); clientPacket.WriteFloat(123.456f); client1.NetworkSend(0, clientPacket); #endregion Client Sending Data Thread.Sleep(2000); Assert.IsTrue(serverReceivedPacket && clientReceivedPacket); }