我送位圖圖像中的形式JPEG * 通過UDP套接字 * .The問題是有每次圖像的可變大小進行編碼。 集裝箱是圖像數據包其由與分組標識信息多個或單個圖像。圖片不發送通過UDP由於較少緩衝器大小C#
服務器端
MemoryStream Ms = new MemoryStream();
bformatter.Serialize(Ms, container);
byte[] TestingFlow = Ms.GetBuffer();
ServerSocket.SendTo(TestingFlow, 54000,
SocketFlags.None, RemoteEndpoint);
客戶端
byte[] Recievedbytes = UdpListener.Receive(ref RemoteEndPoint);
ImageStream = new MemoryStream(Recievedbytes, 0, Recievedbytes.Length);
imagecontainer = (ImageContainer)bformater.Deserialize(ImageStream);
請注意,您或許應該使用'ToArray'而不是'的GetBuffer()',*或*使用'Ms.Length'當您發送 - 否則你可能會發送不必要零的負載。 –
我應該使用ServerSocket.SendTo(Ms.Buffer(),Ms.Length,SocketFlags.None,RemoteEndPoint); ???? – Samie
你可以,是的。另一方面,如果你使用UDP,你需要小心大尺寸。你真的想要自己做任何chunking等嗎? –