在我看来,当一个位图对象由Stream(socket)
创建时,构造函数等待EOF之类的东西,比如socket.close(),socket.shutdown)
这是源代码
发件人方
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 Object给某人 如您所知,连接开销不可忽略 应该用一个插槽处理此函数
有些人建议在对象之间使用特殊字母进行分类(发送多个对象利用一个套接字) 然而,该解决方案使源复杂 我想尽可能简化源代码。
最后我的问题总结如下