Получение изображения из байта TCPCLIENT
I send the image to the server, I noticed that it is receiving the image in several packages, I tried to join the buffers, but it is not working, if I put the image in the picturebox without joining the buffers the image is incomplete My project consists of several clients and a server that is responsible for passing the imgs Sending Img <pre lang="vb"> Dim imgMemoryStream As MemoryStream = New MemoryStream() Dim imgByteArray As Byte() Imagem.Save(imgMemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg) imgByteArray = imgMemoryStream.GetBuffer() serverStream.Write(imgByteArray, 0, imgByteArray.Length) serverStream.Flush()
Повторная Отправка Img
Dim networkStream As NetworkStream = clientSocket.GetStream() networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize)) serverStream.Write(bytesFrom, 0, bytesFrom.Length) serverStream.Flush()
Еще один клиент получает
Dim networkStream As NetworkStream = clientSocket.GetStream() networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize)) Dim buffSize As Integer Dim inStream(10024) As Byte buffSize = clientSocket.ReceiveBufferSize serverStream.Read(inStream, 0, buffSize) Dim imgMemoryStream = New IO.MemoryStream(img) PictureBox1.Image = Drawing.Image.FromStream(imgMemoryStream) Can anyone give me an example of how to join the bytes that are sent from the server into a single variable?
Что я уже пробовал:
I put it to the client to send a message containing the length of the image, the other client would receive the length and wait for the bytes, and would join in a var, everything went well except for the piece of joining the bytes
Jochen Arndt
Общая реализация:
Сервер отправляет сначала размер, используя фиксированный тип (32 или 64 бита), а затем данные.
Клиент получает размер, выделяет буфер и использует цикл для получения данных и хранения их в буфере.
Цикл необходим, потому что при больших объемах данных не все данные будут доступны при обнаружении первых входящих данных.
Hitmanlima
В случае, если сервер получит, сначала отправит размер, а dps отправит данные, плюс мне нужно будет объединить эти данные в байт var, не могли бы вы привести мне какой-нибудь пример?