public void SocketCommunication_ServerSends_ClientReceives() { IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName()); string localhost = ""; foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily.ToString() == "InterNetwork") { localhost = ip.ToString(); } } // Create message to send RegisterMessage expectedMessage = TestHelper.CreateRegisterMessage(); string messageStr = expectedMessage.ToXmlString(); // Create server IPAddress address = IPAddress.Parse(localhost); int port = 5555; NetworkServer server = new NetworkServer(address, port); server.Open(); server.StartListeningForClients(); // connect client NetworkClient client = new NetworkClient(address, port); client.Connect(); client.Send(expectedMessage); ArrayList sockets = new ArrayList(); while ((sockets = server.SelectForRead()).Count == 0) { ; } Socket socket = (Socket)sockets[0]; Message actualMessage = server.Receive(socket); server.Close(); client.Disconnect(); Assert.AreEqual(expectedMessage, actualMessage); }
public void Parse_RegisterMessage_XMLString() { string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"xml_samples\Register.xml"); RegisterType type = RegisterType.TaskManager; byte threads = 3; string[] problems = { "TSP", "GraphColoring" }; RegisterMessage register = new RegisterMessage(type, threads, problems); register.Deregister = true; register.Id = 5; string actualXmlStr = register.ToXmlString(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); string expectedXmlStr = xmlDoc.OuterXml; Assert.AreEqual(expectedXmlStr, actualXmlStr); }