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"); }
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(); }