public void CreateNetPacketFromBufferTest() { var shortValue = _randomizer.Short(); var floatValue = _randomizer.Float(); const int contentSize = sizeof(short) + sizeof(float); var data = BitConverter.GetBytes(contentSize) .Concat(BitConverter.GetBytes(shortValue)) .Concat(BitConverter.GetBytes((float)floatValue)) .ToArray(); var packet = new LitePacket(data); var packetContentSize = packet.Read <int>(); var shortValuePacket = packet.Read <short>(); var floatValuePacket = packet.Read <float>(); Assert.Equal(LitePacketMode.Read, packet.Mode); Assert.NotNull(packet.Buffer); Assert.Equal(data, packet.Buffer); Assert.Equal(contentSize, BitConverter.ToInt32(packet.Buffer, 0)); Assert.Equal(contentSize, packetContentSize); Assert.Equal(shortValue, BitConverter.ToInt16(packet.Buffer, sizeof(int))); Assert.Equal(shortValue, shortValuePacket); Assert.Equal(floatValue, BitConverter.ToSingle(packet.Buffer, sizeof(int) + sizeof(short))); Assert.Equal(floatValue, floatValuePacket); packet.Dispose(); }
protected override void OnConnected() { Console.WriteLine($"New client connected with id: {Id}"); using var welcomePacket = new LitePacket(); welcomePacket.WriteString($"Hello {Id}!"); Send(welcomePacket); }
public void CreateEmptyNetPacketTest() { var packet = new LitePacket(); Assert.Equal(LitePacketMode.Write, packet.Mode); Assert.NotNull(packet.Buffer); Assert.Equal(sizeof(int), packet.Buffer.Length); Assert.Equal(0, BitConverter.ToInt32(packet.Buffer, 0)); packet.Dispose(); }
public override Task HandleMessageAsync(ILitePacketStream incomingPacketStream) { string receivedMessage = incomingPacketStream.Read <string>(); Console.WriteLine($"Received from '{Id}': {receivedMessage}"); using var packet = new LitePacket(); packet.Write($"Received: '{receivedMessage}'."); Send(packet); return(base.HandleMessageAsync(incomingPacketStream)); }
public void CreateNetPacketTest() { const int HeaderSize = sizeof(int); const int DataSize = sizeof(short) + sizeof(float); var shortValue = _randomizer.Short(); var floatValue = _randomizer.Float(); var packet = new LitePacket(); packet.Write(shortValue); packet.Write(floatValue); Assert.Equal(LitePacketMode.Write, packet.Mode); Assert.NotNull(packet.Buffer); Assert.Equal(HeaderSize + DataSize, packet.Buffer.Length); Assert.Equal(DataSize, packet.ContentLength); Assert.Equal(DataSize, BitConverter.ToInt32(packet.Buffer, 0)); Assert.Equal(shortValue, BitConverter.ToInt16(packet.Buffer, HeaderSize)); Assert.Equal(floatValue, BitConverter.ToSingle(packet.Buffer, HeaderSize + sizeof(short))); packet.Dispose(); }
static async Task Main() { Console.WriteLine("=== ECHO CLIENT ==="); LiteClientOptions options = new() { Host = "127.0.0.1", Port = 4444 }; EchoClient client = new(options); Console.WriteLine("Press any key to connect to server."); Console.ReadKey(); await client.ConnectAsync(); while (client.Socket.Connected) { string messageToSend = Console.ReadLine(); if (messageToSend == "quit") { await client.DisconnectAsync(); break; } using var packet = new LitePacket(); packet.WriteString(messageToSend); client.Send(packet); } Console.WriteLine("Leaving program."); Console.ReadKey(); } }