Exemple #1
0
        public void MultipleClientsTransmittingToSameServerTest()
        {
            SimpleTcpServer server = new SimpleTcpServer().Start(8911);

            server.Delimiter = Encoding.UTF8.GetBytes("0")[0];
            SimpleTcpClient client1 = new SimpleTcpClient().Connect(server.GetListeningIPs().FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString(), 8911);
            SimpleTcpClient client2 = new SimpleTcpClient().Connect(server.GetListeningIPs().FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString(), 8911);

            System.Threading.Thread.Sleep(1000);
            if (server.ConnectedClientsCount < 2)
            {
                Assert.Fail("Server did not register 2 connected clients");
            }

            string dataRecievedByServer = "";

            server.DelimiterDataReceived += (sender, msg) =>
            {
                dataRecievedByServer += msg.MessageString;
            };

            client1.Write("1111");
            System.Threading.Thread.Sleep(100);
            client2.Write("2222");
            System.Threading.Thread.Sleep(100);
            client1.Write("0");

            System.Threading.Thread.Sleep(1000);

            Assert.AreEqual("1111", dataRecievedByServer);

            server.Stop();
        }
Exemple #2
0
        public Listener()
        {
            try
            {
                var server = new SimpleTcpServer().Start(Program.Configuration.Listener.Port);
                server.AutoTrimStrings = true;
                server.Delimiter       = 0x13;

                Console.WriteLine($"Listener active on {string.Join(",", server.GetListeningIPs())} : {Program.Configuration.Listener.Port}");

                server.DataReceived += (sender, message) =>
                {
                    var obj = Handle(message);
                    message.ReplyLine($"{obj}{Environment.NewLine}");
                    Console.WriteLine(obj);
                };

//                while (true)
//                {
//                    Console.WriteLine("...");
//                    Thread.Sleep(10000);
//                }
            }
            catch (Exception e)
            {
                _log.Trace(e);
            }
        }
Exemple #3
0
        void Server()
        {
            var server = new SimpleTcpServer().Start(8910);

            //  var listeningIps = server.GetListeningIPs();
            var listeningV4Ips = server.GetListeningIPs().Where(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);

            server.Delimiter              = 0x13;
            server.DelimiterDataReceived += async(sender, msg) =>
            {
                msg.ReplyLine("ok");
                if (msg.MessageString != "")
                {
                    var x = await msg.AsCompletedTask();

                    byte[] toBytes = Convert.FromBase64String(msg.MessageString);
                    Application.Current.Dispatcher.Invoke(() => {
                        var image = LoadFromBytes(toBytes);
                        if (image != null)
                        {
                            bittest.Source = image;
                        }
                        else
                        {
                            Console.WriteLine("Emplty Image");
                        }
                    });
                }
                else
                {
                    Console.WriteLine("empty msg");
                }
            };
        }
Exemple #4
0
        public void SimpleCommTest()
        {
            SimpleTcpServer server = new SimpleTcpServer().Start(8910);
            SimpleTcpClient client = new SimpleTcpClient(new SimpleTcpParam {
                Name = "Alex"
            }).Connect(server.GetListeningIPs().FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString(), 8910);

            server.DelimiterDataReceived += (sender, msg) =>
            {
                _serverRx.Add(msg.MessageString);
                string serverReply = Guid.NewGuid().ToString();
                msg.ReplyLine(serverReply);
                _serverTx.Add(serverReply);
            };

            client.DelimiterDataReceived += (sender, msg) =>
            {
                _clientRx.Add(msg.MessageString);
            };

            System.Threading.Thread.Sleep(1000);

            if (server.ConnectedClientsCount == 0)
            {
                Assert.Fail("Server did not register connected client");
            }

            for (int i = 0; i < 10; i++)
            {
                string clientTxMsg = Guid.NewGuid().ToString();
                _clientTx.Add(clientTxMsg);
                client.WriteLine(clientTxMsg);
                System.Threading.Thread.Sleep(100);
            }

            System.Threading.Thread.Sleep(1000);

            for (int i = 0; i < 10; i++)
            {
                if (_clientTx[i] != _serverRx[i])
                {
                    Assert.Fail("Client TX " + i.ToString() + " did not match server RX " + i.ToString());
                }

                if (_serverTx[i] != _clientRx[i])
                {
                    Assert.Fail("Client RX " + i.ToString() + " did not match server TX " + i.ToString());
                }
            }

            var reply = client.WriteLineAndGetReply("TEST", TimeSpan.FromSeconds(1));

            if (reply == null)
            {
                Assert.Fail("WriteLineAndGetReply returned null");
            }

            Assert.IsTrue(true);
        }
Exemple #5
0
        public void SimpleCommTest()
        {
            SimpleTcpServer server = new SimpleTcpServer().Start(8910);
            SimpleTcpClient client = new SimpleTcpClient().Connect(server.GetListeningIPs().FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString(), 8910);

            server.DelimiterDataReceived += (sender, msg) => {
                _serverRx.Add(msg.MessageString);
                string serverReply = Guid.NewGuid().ToString();
                msg.ReplyLine(serverReply);
                _serverTx.Add(serverReply);
            };

            client.DelimiterDataReceived += (sender, msg) => {
                _clientRx.Add(msg.MessageString);
            };

            System.Threading.Thread.Sleep(1000);

            if (server.ConnectedClientsCount == 0)
            {
                Assert.Fail("Server did not register connected client");
            }

            for (int i = 0; i < 10; i++)
            {
                string clientTxMsg = Guid.NewGuid().ToString();
                _clientTx.Add(clientTxMsg);
                client.WriteLine(clientTxMsg);
                System.Threading.Thread.Sleep(100);
            }

            System.Threading.Thread.Sleep(1000);

            for (int i = 0; i < 10; i++)
            {
                if (_clientTx[i] != _serverRx[i])
                {
                    Assert.Fail("Client TX " + i.ToString() + " did not match server RX " + i.ToString());
                }

                if (_serverTx[i] != _clientRx[i])
                {
                    Assert.Fail("Client RX " + i.ToString() + " did not match server TX " + i.ToString());
                }
            }

            var reply = client.WriteLineAndGetReply("TEST", TimeSpan.FromSeconds(1));
            if (reply == null)
            {
                Assert.Fail("WriteLineAndGetReply returned null");
            }

            Assert.IsTrue(true);
        }
Exemple #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello Sensordata!");

            var server = new SimpleTcpServer().Start(8910);

            Console.Write("Listen on ... ");
            foreach (var ip in server.GetListeningIPs())
            {
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                {
                    Console.Write($"{ip} ");
                }
            }
            Console.WriteLine();

            server.ClientConnected += (s, e) =>
            {
                Console.WriteLine($"Client connected {e.Client.RemoteEndPoint}");
            };

            server.DataReceived += (s, e) =>
            {
                Console.WriteLine($"Client data {e.MessageString}");
            };

            server.Delimiter = (byte)'\n';

            var timer = new System.Timers.Timer(2000);

            timer.Elapsed += (s, e) =>
            {
                if (server.IsStarted)
                {
                    if (server.ConnectedClientsCount > 0)
                    {
                        //Console.WriteLine("Send Data ...");
                        SendDummyData(server);
                    }
                    else
                    {
                        Console.WriteLine("No Client connected ...");
                    }
                }
            };

            timer.Start();

            while (true)
            {
                System.Threading.Thread.Sleep(1000);
            }
        }
Exemple #7
0
        public void CreateServer()
        {
            _server?.Stop();
            _server = new SimpleTcpServer().Start(9004, AddressFamily.InterNetwork);
            var ips = _server.GetListeningIPs();

            ips.ForEach(x => Events.Publish(new MsgItem
            {
                Level = "D", Time = DateTime.Now, Value = "Listening IP: " + x.ToString() + ":9004"
            }));
            Events.PublishOnUIThread(new MsgItem {
                Level = "D", Time = DateTime.Now, Value = "Server initialize: " + IPAddress.Any.ToString() + ":9004"
            });
            _server.Delimiter              = 0x0d;
            _server.DelimiterDataReceived -= Client_DelimiterDataReceived;
            _server.DelimiterDataReceived += Client_DelimiterDataReceived;
        }
Exemple #8
0
        public PortListener()
        {
            try
            {
                SimpleTcpServer server = new SimpleTcpServer().Start(Program.Configuration.Listener.Port);
                server.AutoTrimStrings = true;
                server.Delimiter       = 0x13;

                Console.WriteLine(
                    $"PortListener active on {string.Join(",", server.GetListeningIPs())} : {Program.Configuration.Listener.Port}");

                server.DataReceived += (sender, message) =>
                {
                    string obj = Handle(message);
                    message.ReplyLine($"{obj}{Environment.NewLine}");
                };
            }
            catch (Exception e)
            {
                _log.Trace(e);
                Console.WriteLine($"PortListener could not be started on {Program.Configuration.Listener.Port}");
            }
        }