0

在我看来,当 A Bitmap Object 被创建时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);

接收方被阻塞,直到关闭套接字或半关闭套接字(发送方)

我想重复发送位图对象给某人如你所知,连接开销不可忽略,这个函数应该用一个套接字处理

有人建议在对象之间使用特殊字母进行分类(利用一个套接字发送多个对象)但是这种解决方案使源代码复杂我想让源代码尽可能简单。

最后我的问题总结如下

  1. 如何使用一个不使用特殊字母的套接字重复发送位图对象?
  2. 我也想让源代码尽可能简单(保持上面的源代码)
  3. 最后,我如何将 EOF 发送到退出构造函数(接收方)
4

0 回答 0