Mensaje    Asunto: Transferencia de Imagenes Via Socket Responder citando

bien en esta pagina existen varios ejemplos
http://forum.hardware.fr/hardwarefr/Programmation/Transfert-d-images-via-un-socket--sujet-62128-1.htm

y el que mas me gusto por lo simple, es el siguiente


Para Enviar

Código:
void __fastcall TForm1::CliSendClick(TObject *Sender)
{
        if(ClientSocket1->Active) {
                TMemoryStream *stream = new TMemoryStream();
                Image1->Picture->Bitmap->SaveToStream(stream);
                ClientSocket1->Socket->SendBuf(stream->Memory, stream->Size);
                delete stream;
        }
}


y para recibir

Código:
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender, TCustomWinSocket *Socket)
{
            TMemoryStream *stream = new TMemoryStream();
            char Buffer[5000];
            int Count;
            while (Count = ServerSocket1->Socket->Connections[ComboBox1->ItemIndex]->ReceiveBuf(Buffer, sizeof(Buffer)) != -1) {
                stream->Write(Buffer, sizeof(Buffer));
                Sleep(1000);
            }
            stream->Position = 0;
            Image2->Picture->Bitmap->LoadFromStream(stream);
            delete stream;
}



Otro de los Ejemplos


Código:
//Pour l'envoi :
void __fastcall TForm1::SrvSendClick(TObject *Sender)
{
        if(ServerSocket1->Active) {
            TMemoryStream *stream = new TMemoryStream();
            Image1->Picture->Bitmap->SaveToStream(stream);
            //Image2->Picture->Bitmap->LoadFromStream(stream); Au passage, ça ça fonctionne, ce qui signifie que l'image est effectivement contenue dans stream.
            ClientSocket1->Socket->SendBuf(stream, sizeof(stream));
            stream->Free();
        }
}

//Pour la réception :
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender, TCustomWinSocket *Socket)
{
        TMemoryStream *stream = new TMemoryStream();
        ServerSocket1->Socket->Connections[0]->ReceiveBuf(stream, sizeof(stream));
        stream->Position = 0; //Pour permettre de lire depuis le début de la variable, ce que j'avais omis au départ et qui m'a valu des heures perdues...
        Image2->Picture->Bitmap->LoadFromStream(stream); //Chargement de stream pour l'afficher ; etlà, rien ne se passe...
        stream->Free();
        ShowMessage("Reçu !"); //J'affiche une MessageBox pour être sûr que l'événement à bien lieu, ce qui n'est pas le cas si j'utilise SendStream du côté client...
}

_________________
Cool