Я хочу отправить изображение с сервера на клиент
Я пытаюсь отправить изображение с сервера клиенту. сервер отправил изображение, но клиент его не отображает ..У меня проблема с кодом.
кто-нибудь может мне помочь, пожалуйста.
Что я уже пробовал:
сервер\\
private void button6_Click(object sender, EventArgs e) { try { Image img = Image.FromFile("D:\\1.jpg"); MemoryStream ms = new MemoryStream(); img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); bytes = ms.ToArray(); acc.Send(bytes, 0, bytes.Length, 0); MessageBox.Show("ok"); } catch { MessageBox.Show("Failure...."); } }
клиент\\
try { sock.Connect(new IPEndPoint(IPAddress.Parse(textBox3.Text), 3)); new Thread(() => { read(); }).Start(); } catch { MessageBox.Show("failure"); } } void read() { while (true) { try { byte[] buffer = new byte[255]; int rec = sock.Receive(buffer, 0, buffer.Length, 0); if (rec <= 0) { throw new SocketException(); } Array.Resize(ref buffer, rec); Invoke((MethodInvoker)delegate { MemoryStream imgstream = new MemoryStream(buffer); Image imgfromstream = Image.FromStream(imgstream); pictureBox1.Image = imgfromstream; }); } catch { MessageBox.Show("Disconcting"); sock.Close(); break; } } Application.Exit(); }
Thomas Daniels
Я не запускал код, но что такое байты.Длина на сервере перед отправкой изображения? Ваш буфер на приемном конце имеет только 255 байт, и я не удивлюсь, если ваше изображение будет больше этого.
Member 14129828
спасибо за ваш ответ ...Это именно моя проблема. мой буфер был невелик. Я все исправил.