так что я в основном разрабатываю сетевую программу в C#, и я пытаюсь отправить строку с сервера клиенту с помощью потокового считывателя, но у меня очень странная проблема. Когда я использую этот код ...C# - проблема с чтением потока
[Server Side]
foreach (DataRow row in StocksTable.Rows)
{
stocks += row["description"] + "," + row["buy"] + "," + row["sell"] + ",";
}
[Клиент]
textBox3.Text = streamReader.ReadLine();
... он работает, но он возвращает только первую строку. Когда я меняю «\ n» на «;» например, чтобы все было на одной строке, клиент сбой.
Я попытался использовать итератор для печати всех строк, но он не работает.
Я знаю, это звучит смешно и, вероятно, есть простое объяснение, но я некоторое время застрял на этом, и я смущаюсь.
EDIT:
Я попробовал и это итерации вещь работает:
for (int i = 0; i < 5; i++)
{
textBox3.Text += streamReader.ReadLine();
}
(5 это число строк в строке)
, но это не делает:
while (true)
{
string s = streamReader.ReadLine();
if (s != null)
{
textBox3.Text += s;
}
else
{
break;
}
}
Можете ли вы предоставить больше кода? Какие классы вы используете? –
Вы используете readline - \ n завершает линию. Если вы пройдете все строки, вы можете увидеть, что вам нужно. Мое предположение о сбое в том, что размер строки слишком большой для текстового поля? – JohnLBevan
_the клиент crashes_ - каковы детали исключения? –