Просто пытаются использовать NetworkStream, и это простой код, который я написал:C# NetworkStream читает ничего
стороне клиента:
TcpClient c = new TcpClient();
c.Connect("10.0.0.4", 10);
NetworkStream ns = c.GetStream();
byte[] buffer = System.Text.Encoding.UTF8.GetBytes("first");
byte[] buffer2 = System.Text.Encoding.UTF8.GetBytes("second");
MemoryStream stream = new MemoryStream();
stream.Write(buffer, 0, buffer.Length);
stream.Write(buffer2, 0, buffer2.Length);
stream.CopyTo(ns);
Это на стороне сервера:
TcpListener tl = new TcpListener(IPAddress.Any, 10);
tl.Start();
TcpClient c = tl.AcceptTcpClient();
NetworkStream ns = new NetworkStream(c.Client);
byte[] buff = new byte[5];
ns.Read(buff,0,buff.Length);
string result = System.Text.Encoding.UTF8.GetString(buff);
MessageBox.Show(result);
только когда я закрываю все приложение, выполняется строка MessageBox
, и я всегда получаю пустое сообщение! что означает result
не содержит ничего ... Любая помощь?
'stream.Flush' ?? – Eser
@Eser nope. Он не решает ни одну из двух проблем. – Slashy