基本的に私はc#でネットワーキングプログラムを開発しており、ストリームリーダーを使用してサーバーからクライアントに文字列を送信しようとしていますが、非常に奇妙な問題があります。このコードを使用すると...
[サーバ側]
foreach (DataRow row in StocksTable.Rows)
{
stocks += row["description"] + "," + row["buy"] + "," + row["sell"] + ",";
}
[クライアント]
textBox3.Text = streamReader.ReadLine();
...動作しますが、最初の行のみを返します。「\n」を「;」で変更すると たとえば、すべてが 1 行に収まるようにすると、クライアントがクラッシュします。
イテレータを使用してすべての行を出力しようとしましたが、うまくいきません。
おかしく聞こえるかもしれませんが、おそらく簡単な説明があるかもしれませんが、しばらくこれに固執していて、混乱しています。
編集:
私は繰り返してみましたが、これはうまくいきます:
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;
}
}