public static void Connect() { var client = new EasyTcpClient(); if (!client.Connect(IPAddress.Loopback, Port)) { return; } var list = new PacketList <Message> { EasyTcpPacket.To <Message>("Message1"), EasyTcpPacket.To <Message>("Message2"), EasyTcpPacket.To <Message>("Message3") }; client.Send(list); // Send list // Message also implements IEasyTcpPacket // So we can use all functions on message as example // This is how we create a new message with as content a string // The EasyTcpPacket.To can be used on all packets, but not all packets support being created from a string // Our list for example wouldn't work when created from a string var message = EasyTcpPacket.To <Message>("S_T_R_I_N_G"); message.Compress(); // Compress message }
public void TestEncryptingAndDecryptingMessage() { var encryption = new EasyEncrypt(); var testData = "testData"; var message = EasyTcpPacket.To <Message>(Encoding.UTF8.GetBytes(testData)); var encryptedMessage = EasyTcpPacket.To <Message>(message.Data).Encrypt(encryption); var decryptedMessage = EasyTcpPacket.To <Message>(encryptedMessage.Data).Decrypt(encryption); Assert.AreEqual(message.ToString(), decryptedMessage.ToString()); Assert.AreNotEqual(message.ToString(), encryptedMessage.ToString()); }
public static void Run() { const ushort PORT = 100; using var encrypter = new EasyEncrypt("Password", "SALT1415312"); using var server = new EasyTcpServer().Start(PORT); server.OnDataReceive += (sender, message) => Console.WriteLine($"Received: {message.Decrypt(encrypter).ToString()}"); using var client = new EasyTcpClient(); if (!client.Connect(IPAddress.Loopback, PORT)) { return; } client.Send(EasyTcpPacket.To <Message>("Hello Server!").Encrypt(encrypter)); }
public static void Connect() { var client = new EasyTcpClient(); if (!client.Connect(IPAddress.Loopback, Port)) { return; } using var encrypter = new EasyEncrypt("Key", Salt); // Send encrypted message // .Encrypt works on all EasyTcpPackets client.Send(EasyTcpPacket.To <Message>("TestMessage").Encrypt(encrypter) .Compress()); // Compression also works on all EasyTcpPackets }
public void SendEncryptedData() { ushort port = TestHelper.GetPort(); using var server = new EasyTcpServer().Start(port); server.OnDataReceive += (sender, message) => message.Client.Send(message); var encryption = new EasyEncrypt(); using var client = new EasyTcpClient(); Assert.IsTrue(client.Connect(IPAddress.Any, port)); string data = "123"; var m = client.SendAndGetReply(EasyTcpPacket.To <Message>(data).Encrypt(encryption).Compress()); Assert.AreEqual(data, m.Decompress().Decrypt(encryption).ToString()); }
/// <summary> /// Received data as a custom IEasyTcpPacket /// </summary> /// <typeparam name="T">Packet type</typeparam> /// <returns>data as custom IEasyTcpPacket</returns> public T ToPacket <T>() where T : IEasyTcpPacket, new() => EasyTcpPacket.To <T>(Data);