Я пытаюсь отправить изображение по NetworkStream это мой код клиента:NetworkStream не отвечает
private void Form1_Load(object sender, EventArgs e)
{
TcpClient client=new TcpClient();
client.Connect("127.0.0.1", 10);
NetworkStream ns = client.GetStream();
Bitmap screen = GetDesktopImage();//generate a screenshot.
MemoryStream ms = new MemoryStream();
screen.Save(ms, ImageFormat.Png);
byte[] byteCount = BitConverter.GetBytes((int)ms.Length);
ms.Position = 0;
ns.Write(byteCount, 0, byteCount.Length);
ms.CopyTo(ns);
ms.SetLength(0);
}
это сервер:
private void Start()
{
TcpListener listen = new TcpListener(IPAddress.Any, 10);
listen.Start();
NetworkStream ns = new NetworkStream(listen.AcceptTcpClient().Client);
byte[] temp = new byte[4];
ns.Read(temp, 0, 4);
int count = BitConverter.ToInt32(temp, 0);
byte[] buff = new byte[count];
pictureBox1.Image = Image.FromStream(ns);
}
private void Form1_Load(object sender, EventArgs e)
{
Thread th = new Thread(Start);
th.Start();
}
Я не вижу ничего на PictureBox и Я предполагаю, что программа висит здесь: pictureBox1.Image = Image.FromStream(ns);
просто добавил точку останова, и она не работает. ** Только когда я закрываю клиентскую программу и останавливаю отладку, я могу видеть изображение на картинке на стороне сервера. Почему это? Любые идеи?
* pictureBox1.Image = Image.FromStream (ns); просто добавлена точка останова и она не работает * - Означает ли это, что она никогда не попадает в точку останова или не проходит мимо нее? – Amit
Это не проходит мимо. прежде чем он будет работать. @Amit – Slashy
DId вы пытаетесь захватить байты вместо 'buff'? – Amit