我在使用套接字发送 jpg 数据时遇到了一些问题。
发送方:
Socket client_s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);
IPEndPoint serverEP = new IPEndPoint(IPAddress.Loopback, 4567);
client_s.Connect(serverEP);
NetworkStream stream = new NetworkStream(client_s);
bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
接收方:
clientSocket = listenSocket.Accept();
NetworkStream s = new NetworkStream(clientSocket);
Bitmap slice_bmp = new Bitmap(s);
Graphics g = this.CreateGraphics();
g.DrawImage(slice_bmp,0,0);
当我执行上述操作时,Bitmap slice_bmp = new Bitmap(s);
会被阻塞,直到关闭发件人的套接字。发送方的套接字关闭后,正常绘制图像。我想知道为什么该操作被阻止?
另外,使用 Networkstream 的实例作为 Bitmap 的构造函数的参数是否正确?(我的代码是基于继承的)