Я отправлял двоичные данные между приложениями много раз через TCP-сокеты, но никогда прежде не использовал строки.Встала в вопрос, намереваясь сделать это.Вот что я получил:
TcpClient tcpClient = new TcpClient("localhost", port);
//Connects fine
NetworkStream ns = tcpClient.GetStream();
StreamWriter sw = new StreamWriter(ns);
//The code moves on but nothing seems to be sent unless I do
//a sw.Close() after this line. That would however close the
//ns and prevent me from reading the response further down
sw.Write("hello");
//I am using a stream reader with ReadToEnd() on the tcpListener
//which never receives the string from this piece of code
//Since the above never actually send I get stuck here
string response = new StreamReader(ns).ReadToEnd();
sw.Close();
tcpClient.Close();
Как отправить строку, не закрывая сетевой поток?ns.Flush () - это то, что я действительно искал бы.