[РЕШИТЬ]C# клиента. Передача данных из C# клиент для Java Server
У меня аналогичная проблема на пост here, следовали ответы на все вопросы, но получил пустую строку в качестве ответа. данные.
Вот мой код:
try
{
string ENDOFLINE = "\r\n";
TcpClient client = new TcpClient(txtIP.Text, Int32.Parse(txtPort.Text));
NetworkStream stream = client.GetStream();
byte[] data = Encoding.ASCII.GetBytes(txtMessage.Text + ENDOFLINE);
stream.Write(data, 0, data.Length);
String responseData = String.Empty;
Int32 bytes = stream.Read(data, 0, data.Length);
responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);
stream.Close();
client.Close();
}
catch(Exception ex)
{
Console.WriteLine(ex.message);
}
Решение:
Отсоединения соединения сразу после отправки сообщения и до получения ответа. Я следил за этим article
Пожалуйста, всегда отправляйте код в самом вопросе, а не через внешние ссылки, поэтому вопрос не становится бесполезным, если ссылка умирает. –
@PeterB, спасибо за ваш совет, я отредактировал сообщение :) – budiantoip
вы не можете отправлять байтовый массив из C# в Java и VV, потому что Java использует sbyte not byte ... вы должны изменить byte [] data = Encoding.ASCII .GetBytes (txtMessage.Text + ENDOFLINE); – Alrehamy