Zdravím, potřeboval bych pomoc.
Chci udělat přenos souboru nebo rovnou obrázku. Mám server a klient, klient je vždy jen jeden. Server má poslat klientovi obrázek.
Má to být přes NetworkStream, protože takto už mám udělaný dejme tomu chat.
Server:
byte[] bStream = ImageToByte(NewBitmap);
networkStream.Write(bStream, 0, bStream.Length);
networkStream.Flush();
Funkce ImageToByte:
static byte[] ImageToByte(System.Drawing.Image iImage)
{
MemoryStream mMemoryStream = new MemoryStream();
iImage.Save(mMemoryStream,
System.Drawing.Imaging.ImageFormat.Gif);
return mMemoryStream.ToArray();
}
Klient:
byte[] bytesFrom = new byte[100025];
while (true)
{
serverStream = clientSocket.GetStream();
serverStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
//System.Drawing.Image screen = System.Drawing.Image.FromStream(serverStream);
//Screen_Box.Image = screen;
}
Jde o to, že obrázek přijde po částech, já ho taky čtu po částech, ale musím nějak zkontrolovat že je ten obrázek kompletní a už ho převést na obrázek! Zkusil jsem serverem ihned po poslání obrázku poslat další zprávu, že je obrázek kompletní, jenomže žádná taková zpráva klientovi nedojde!