public void PropertiesTest() { int expectedPacketId = 1; int expectedClientId = 11; string expectedDataString = "Hello!"; Packet emptyPacket = new Packet(); ExamplePacket firstPacket = new ExamplePacket { ClientId = expectedClientId, PacketTypeId = expectedPacketId, DataString = expectedDataString }; ExamplePacket secondPacket = new ExamplePacket(); secondPacket.Bytes = firstPacket.Bytes; int expectedPacketLength = firstPacket.Bytes.Length; Assert.Equal(expectedDataString, firstPacket.DataString); Assert.Equal(expectedPacketId, firstPacket.PacketTypeId); Assert.Equal(expectedClientId, firstPacket.ClientId); Assert.Equal(expectedPacketLength, firstPacket.Bytes.Length); Assert.Equal(expectedDataString, secondPacket.DataString); Assert.Equal(expectedPacketId, secondPacket.PacketTypeId); Assert.Equal(expectedClientId, secondPacket.ClientId); Assert.Equal(expectedPacketLength, secondPacket.Bytes.Length); Assert.Equal(firstPacket.PacketLength, firstPacket.Bytes.Length); Assert.Equal(secondPacket.PacketLength, secondPacket.Bytes.Length); Assert.Equal(Packet.HEADERSOFFSET, emptyPacket.PacketLength); }
static void DelegatePacketHandlers() { var sender = new PacketSender(); var packet = new ExamplePacket(); var sw = Stopwatch.StartNew(); var registry = new DelegatePacketHandlerRegistry(); if (!registry.TryRegisterHandlers(Assembly.GetExecutingAssembly())) { Console.WriteLine("Failed to register delegate handlers."); } sw.Stop(); Console.WriteLine($"{nameof(DelegatePacketHandlers)}: Registration took {sw.Elapsed.TotalMilliseconds}ms"); sw = Stopwatch.StartNew(); for (var itr = 0; itr < 10000000; ++itr) { registry.Handle(sender, packet); } sw.Stop(); Console.WriteLine($"{nameof(DelegatePacketHandlers)}: Invocation took {sw.Elapsed.TotalMilliseconds}ms"); }
public void Tcp_Sending_Receiving_Packets() { SimpleServer server = new SimpleServer(); server.Start(20, 8888); Thread.Sleep(10); SimpleNetworking.User.UserClient userClient = new User.UserClient(); userClient.Connect(IPAddress.Parse("127.0.0.1"), 8888); Thread.Sleep(4 * 1000); Packet sendPacket = new ExamplePacket { DataString = "Hello?" }; userClient.Send(sendPacket, ProtocolType.Tcp); userClient.Send(sendPacket, ProtocolType.Udp); userClient.Send(sendPacket, ProtocolType.Udp); userClient.Send(sendPacket, ProtocolType.Udp); server.Clients[userClient.Id].Send(sendPacket, ProtocolType.Tcp); server.Clients[userClient.Id].Send(sendPacket, ProtocolType.Udp); server.Clients[userClient.Id].Send(sendPacket, ProtocolType.Udp); Stopwatch timer = new Stopwatch(); timer.Start(); for (int i = 0; i < 2000; i++) { server.Clients[userClient.Id].Send(sendPacket, ProtocolType.Udp); } timer.Stop(); timer.Reset(); timer.Start(); for (int i = 0; i < 2000; i++) { userClient.Send(sendPacket, ProtocolType.Tcp); } timer.Stop(); server.Clients[userClient.Id].Disconnect(); Thread.Sleep(10); Assert.Equal(2000 + 4, server.ReceivedPackets.Count); Assert.Equal(2000 + 3, userClient.ReceivedPackets.Count); Assert.True(userClient.Id != 0); }
public static bool Handle(PacketSender packetSender, ExamplePacket packet) => true;