Beispiel #1
0
        private static void Main(string[] args)
        {
            //创建Udp Server主站
            var server = new UdpAppServer("127.0.0.1", 32123);

            //开始监听从终端传输过来得消息
            Task.Factory.StartNew(async() =>
            {
                while (true)
                {
                    var received = await server.Receive();
                    Console.WriteLine(string.Format("{0} 主站收到:{1}", DateTime.Now.FormatDate(1), received.Message));
                    server.Reply("copy " + received.Message, received.Sender);
                    if (received.Message == "quit")
                    {
                        break;
                    }
                }
            });

            //创建Udp终端,并链接到主站
            var client = UdpAppClient.ConnectTo("127.0.0.1", 32123);

            //等待来自服务器的应答消息发送到控制台
            Task.Factory.StartNew(async() =>
            {
                while (true)
                {
                    try
                    {
                        var received = await client.Receive();
                        Console.WriteLine(received.Message);
                        if (received.Message.Contains("quit"))
                        {
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.Write(ex);
                    }
                }
            });

            string read;

            do
            {
                read = Console.ReadLine();
                client.Send(read);
            } while (read != "quit");
        }
Beispiel #2
0
        private static void Main(string[] args)
        {
            UdpAppServer server = new UdpAppServer("127.0.0.1", 32123);

            Task.Factory.StartNew(async() =>
            {
                while (true)
                {
                    UdpAppReceived received = await server.Receive();
                    Console.WriteLine(string.Format("{0} 主站收到:{1}", DateTime.Now.FormatDate(1), received.Message));
                    server.Reply(received.Message, received.Sender);
                    if (received.Message == "quit")
                    {
                        break;
                    }
                }
            });


            UdpAppClient client = UdpAppClient.ConnectTo("127.0.0.1", 32123);

            Task.Factory.StartNew(async() =>
            {
                while (true)
                {
                    try
                    {
                        UdpAppReceived received = await client.Receive();
                        Console.WriteLine(DateTime.Now.FormatDate(1) + " 终端收到:" + received.Message);
                        if (received.Message.Contains("quit"))
                        {
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.Write(ex);
                    }
                }
            });

            string read;

            do
            {
                read = Console.ReadLine();
                client.Send(read);
            } while (read != "quit");
        }
        public void TestUdpCommand()
        {
            var testServer = new UdpAppServer();

            testServer.Setup(m_RootConfig, m_Config, SocketServerFactory.Instance);

            testServer.Start();

            EndPoint serverAddress = new IPEndPoint(IPAddress.Parse("127.0.0.1"), m_Config.Port);

            using (Socket socket = CreateClientSocket())
            {
                char[] chars = new char[] { 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H' };

                Random rd = new Random(1);

                StringBuilder sb = new StringBuilder();

                var sessionID = Guid.NewGuid().ToString();

                for (int i = 0; i < 100; i++)
                {
                    sb.Append(chars[rd.Next(0, chars.Length - 1)]);
                    string command = sb.ToString();

                    Console.WriteLine("Client prepare sent:" + command);

                    var cmdInfo = new MyUdpRequestInfo("SESS", sessionID);
                    cmdInfo.Value = command;

                    socket.SendTo(cmdInfo.ToData(), serverAddress);

                    Console.WriteLine("Client sent:" + command);

                    string[] res = m_Encoding.GetString(ReceiveMessage(socket, serverAddress).ToArray()).Split(' ');

                    Assert.AreEqual(sessionID, res[0]);
                    Assert.AreEqual(command, res[1]);
                }
            }

            testServer.Stop();
        }
        public void TestUdpCommand()
        {
            var testServer = new UdpAppServer();

            ((ITestSetup)testServer).Setup(m_RootConfig, m_Config);

            testServer.Start();

            EndPoint serverAddress = new IPEndPoint(IPAddress.Parse("127.0.0.1"), m_Config.Port);

            using (Socket socket = CreateClientSocket())
            {
                char[] chars = new char[] { 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H' };

                Random rd = new Random(1);

                StringBuilder sb = new StringBuilder();

                var sessionID = Guid.NewGuid().ToString();

                for (int i = 0; i < 100; i++)
                {
                    sb.Append(chars[rd.Next(0, chars.Length - 1)]);
                    string command = sb.ToString();

                    Console.WriteLine("Client prepare sent:" + command);

                    var cmdInfo = new MyUdpRequestInfo("SESS", sessionID);
                    cmdInfo.Value = command;

                    socket.SendTo(cmdInfo.ToData(), serverAddress);

                    Console.WriteLine("Client sent:" + command);

                    string[] res = m_Encoding.GetString(ReceiveMessage(socket, serverAddress).ToArray()).Split(' ');

                    Assert.AreEqual(sessionID, res[0]);
                    Assert.AreEqual(command, res[1]);
                }
            }

            testServer.Stop();
        }