Я пытался выяснить, как отправлять и получать XML-данные через TCP-сервер. Я пришел из Java-программирования, поэтому я немного не в себе. Моя программа работает, если я отправляю простой текст, однако, как только я пытаюсь отправить данные XML, она просто зависает. Сервер никогда не получает сообщение.
Я искал код, чтобы сделать это, и не нашел никакой удачи, я видел много примеров кода онлайн, которые не работают. пожалуйста, если кто-нибудь из вас может решить эту проблему, я был бы очень признателен.
Пожалуйста, я ищу здесь примеры кода, а не объяснения того, что я должен сделать, чтобы это исправить. Я только кодировал C # в течение нескольких дней.
Вот пример XML-запроса.
<?xml version="1.0" encoding="utf-8"?>
<ClientRequest>
<Product>AGENT</Product>
<Method>GET_SYSTEM_INFO</Method>
<ClientId>UMOHB</ClientId>
<Params>
<Param Value="umohb" Key="username" />
<Param Value="password" Key="password" />
<Param Value="localhost" Key="hostname" />
</Params>
</ClientRequest>
Вот мой код TCP-клиента
public static void sendStringRequest(String hostname, int port, String message)
{
String response = String.Empty;
TcpClient client = getConnection(hostname, port);
Console.WriteLine(message);
NetworkStream stream = client.GetStream();
StreamWriter writer = new StreamWriter(stream, Encoding.UTF8);
writer.AutoFlush = false;
writer.Write(Encoding.UTF8.GetBytes(message).Length);
writer.Write(message);
writer.Flush();
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
response = reader.ReadLine();
stream.Close();
}