Exemple #1
0
        public void ConnectIPAddress()
        {
            var port = TestHelper.GetPort();

            using var server = new EasyTcpServer().Start(port);
            using var client = new EasyTcpClient();

            Assert.IsTrue(client.Connect(IPAddress.Loopback, port));
            Assert.IsTrue(client.IsConnected());
        }
Exemple #2
0
        public void ConnectIPAddressString()
        {
            var port = TestHelper.GetPort();

            using var server = new EasyTcpServer().Start(port);
            using var client = new EasyTcpClient();

            Assert.IsTrue(client.Connect("127.0.0.1", port));
            Assert.IsTrue(client.IsConnected());
        }
Exemple #3
0
        public async Task SendAndGetReplyArrayWithoutTimeout()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            byte[] data = new byte[100];
            var    m    = await client.SendAndGetReplyAsync(data);

            Assert.IsTrue(data.SequenceEqual(m.Data));
        }
Exemple #4
0
        public async Task SendAndGetReplyUInt()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            uint data = 123;
            var  m    = await client.SendAndGetReplyAsync(data, _timeout);

            Assert.AreEqual(data, m.ToUInt());
        }
Exemple #5
0
        public void SendString()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            string data = "Data";

            client.Send(data);
            client.Send(data, Encoding.UTF32); //Send with different encoding
        }
Exemple #6
0
        public void TestInvalidCertificate()
        {
            ushort port        = TestHelper.GetPort();
            var    certificate = new X509Certificate2("certificate.pfx", "password");

            using var server = new EasyTcpServer().UseSsl(certificate).Start(port);

            using var client = new EasyTcpClient().UseSsl("localhost");
            Assert.IsFalse(client.Connect("127.0.0.1", port));
        }
 public static void Connect()
 {
     using var client = new EasyTcpClient();
     if (!client.Connect(IPAddress.Loopback, PORT))
     {
         return;
     }
     client.SendAction("echo", "Hello server");
     client.SendAction("broadcast", "Hello everyone");
 }
        public void SendAndGetReplyDouble()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            double data = 123.0;
            var    m    = client.SendAndGetReply(data, _timeout);

            Assert.AreEqual(data, m.ToDouble());
        }
        public void SendAndGetReplyString()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            string data = "123";
            var    m    = client.SendAndGetReply(data, _timeout);

            Assert.AreEqual(data, m.ToString());
        }
        public void SendActionLong()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            long data = 123;

            client.SendAction(0, data);
            client.SendAction("ECHO", data);
        }
Exemple #11
0
        public void SendAndGetReplyArray()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            byte[] data = new byte[100];
            var    m    = client.SendAndGetReply(data, _timeout);

            Assert.IsTrue(data.SequenceEqual(m.Data));
        }
Exemple #12
0
        public async Task SendAndGetReplyBool()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            bool data = true;
            // ReSharper disable once ConditionIsAlwaysTrueOrFalse
            var m = await client.SendAndGetReplyAsync(data, _timeout);

            Assert.AreEqual(true, m.ToBool());
        }
Exemple #13
0
        public void SendAllArray()
        {
            ushort port   = TestHelper.GetPort();
            var    server = new EasyTcpServer().Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, port));

            byte[] data = new byte[100];
            server.SendAll(data);
        }
Exemple #14
0
        public void TestIp()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpServer().Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Loopback, port));

            Assert.AreEqual(IPAddress.Loopback, client.GetIp());
            Assert.AreEqual(IPAddress.Loopback, server.GetConnectedClients().First().GetIp());
        }
Exemple #15
0
        public void SendAllActionBool()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpServer().Start(port);;

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, port));

            server.SendAllAction(0, true);
            server.SendAllAction("ECHO", true);
        }
Exemple #16
0
        public void SendActionAndGetReplyBool()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            var m = client.SendActionAndGetReply(0, true, _timeout);

            Assert.AreEqual(true, m.ToBool());

            var m2 = client.SendActionAndGetReply("ECHO", true);

            Assert.AreEqual(true, m2.ToBool());
        }
Exemple #17
0
        public void SendBool()
        {
            ushort port   = TestHelper.GetPort();
            var    server = new EasyTcpServer();

            server.Start(port);

            var client = new EasyTcpClient();

            Assert.IsTrue(client.Connect(IPAddress.Any, port));

            server.SendAll(true);
        }
Exemple #18
0
        public void SendActionAndGetReplyUInt()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            uint data = 123;
            var  m    = client.SendActionAndGetReply(0, data, _timeout);

            Assert.AreEqual(data, m.ToUInt());

            var m2 = client.SendActionAndGetReply("ECHO", data);

            Assert.AreEqual(data, m2.ToUInt());
        }
Exemple #19
0
        public void SendAllActionDouble()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpServer().Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, port));

            double data = 123.0;

            server.SendAllAction(0, data);
            server.SendAllAction("ECHO", data);
        }
        public async Task SendActionAndGetReplyAsyncShort()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            short data = 123;
            var   m    = await client.SendActionAndGetReplyAsync(0, data, _timeout);

            Assert.AreEqual(data, m.ToShort());

            var m2 = await client.SendActionAndGetReplyAsync("ECHO", data);

            Assert.AreEqual(data, m2.ToShort());
        }
        public async Task SendActionAndGetReplyAsyncArray()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            byte[] data = new byte[100];
            var    m    = await client.SendActionAndGetReplyAsync(0, data, _timeout);

            Assert.IsTrue(data.SequenceEqual(m.Data));

            var m2 = await client.SendActionAndGetReplyAsync("ECHO", data);

            Assert.IsTrue(data.SequenceEqual(m2.Data));
        }
Exemple #22
0
        public void SendULong()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpServer();
            server.Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, port));

            ulong data = 123;

            server.SendAll(data);
        }
Exemple #23
0
        public void TestServerActionsTrigger()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpActionServer().Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Loopback, port));

            string data  = "test";
            var    reply = client.SendActionAndGetReply("ECHO", data);

            Assert.AreEqual(data, reply.ToString());
        }
        public async Task TestInterceptorFalse()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpActionServer
                  { Interceptor = (actionCode, m) => false }; // Create useless server
            server.Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Loopback, port));
            var message = await client.SendActionAndGetReplyAsync("ECHO", "data", TimeSpan.FromMilliseconds(500));

            Assert.IsNull(message); // Client did not receive a message
        }
        public void TestInterceptorTrue()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpActionServer
                  { Interceptor = (actionCode, m) => true };
            server.Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Loopback, port));
            var message = client.SendActionAndGetReply("ECHO", "data");

            Assert.IsNotNull(message); // Client did receive a message
        }
Exemple #26
0
        public static void Upload(string fileName, string saveAs)
        {
            var client = new EasyTcpClient();

            if (!client.Connect(IPAddress.Any, Port))
            {
                return;
            }
            client.SendAction("UPLOAD", saveAs);

            using var fileStream = new FileStream(fileName, FileMode.Open);
            client.SendStream(fileStream); // Send stream and use fileStream as source
            Console.WriteLine($"Uploaded {fileName}, saved as {saveAs}");
        }
Exemple #27
0
        public void SendActionAndGetReplyTriggerOnDataReceive()
        {
            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, _port));

            bool triggered = false;

            client.OnDataReceive += (sender, message) => triggered = true;

            byte[] data = new byte[100];
            var    m    = client.SendActionAndGetReply(0, data);

            Assert.IsTrue(data.SequenceEqual(m.Data));
            Assert.IsFalse(triggered);
        }
Exemple #28
0
        public void TestInterceptorTrue()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpActionServer
                  {
                      Interceptor = action => action.ActionCode.IsEqualToAction("ECHO") && action.ToString() == "data"
                  }.Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Loopback, port));
            var message = client.SendActionAndGetReply("ECHO", "data");

            Assert.IsNotNull(message);
        }
Exemple #29
0
        public async Task TestReceive()
        {
            ushort port = TestHelper.GetPort();

            using var server = new EasyTcpServer().Start(port);

            using var client = new EasyTcpClient();
            Assert.IsTrue(client.Connect(IPAddress.Any, port));

            var receivedData = client.ReceiveAsync();

            TestHelper.WaitWhileFalse(() => server.ConnectedClientsCount == 1);
            server.SendAll("Data");
            Assert.AreEqual("Data", (await receivedData).ToString());
        }
Exemple #30
0
        public static void Connect()
        {
            var client = new EasyTcpClient();

            //Print received data
            client.OnDataReceive += (sender, message) =>
                                    Console.WriteLine($"HelloClient: Received \"{message.ToString()}\" from the server");

            //Connect to server, return if failed
            if (!client.Connect(IPAddress.Any, Port))
            {
                return;
            }
            client.Send("Hello");
        }