Image.FromStream使用networkStream

我正在尝试使用类Image的FromStream方法来设置使用网络流通过tcp连接接收的图像。 这里有双方代码:

服务器:

TcpListener server = new TcpListener(IPAddress.Any, 34567); server.Start(); TcpClient client = server.AcceptTcpClient(); byte[] buffer = new byte[256]; int n = 0; Console.WriteLine("{0}, {1}", Encoding.ASCII.GetString(buffer, 0, n), client.Client.RemoteEndPoint); byte[] img = File.ReadAllBytes(@"C:\Users\Luca\Desktop\video grest\8599929-nessun-segnale.jpg"); client.Client.Send(img); 

客户:

 TcpClient tcp = new TcpClient("127.0.0.1", 34567); NetworkStream stream = tcp.GetStream(); MessageBox.Show("fatto"); pictureBox1.Image = Image.FromStream(stream); 

问题是客户端程序在最后一条指令上停止并且它没有前进,如果关闭服务器(甚至30分钟后),它表示连接已关闭但是图片框没有显示任何内容……为什么?

提前致谢。

我认为你的客户端代码

 pictureBox1.Image = Image.FromStream(stream); 

期望在处理图像之前结束流。

因此,您应该使用以下命令关闭套接字服务器端:

 client.Close(); 

刚过:

 client.Client.Send(img);