예제 #1
0
        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));
        }
예제 #2
0
        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();
        }