[C++ Builder] SendBuff avec BMP
Résolu
afrodje
Messages postés
759
Date d'inscription
Statut
Membre
Dernière intervention
-
afrodje Messages postés 759 Date d'inscription Statut Membre Dernière intervention -
afrodje Messages postés 759 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais transmettre un fichier image (bmp) avec le composant Tsocketserveur et TSocketclient.
Voici mon code serveur (envoi du fichier) :
Et voici la reception du client (une partie du code) :
Et voici l'erreur généré : http://images3.hiboox.com/images/1208/swow6rgb.jpg
Je voudrais transmettre un fichier image (bmp) avec le composant Tsocketserveur et TSocketclient.
Voici mon code serveur (envoi du fichier) :
void __fastcall TForm1::FormCreate(TObject *Sender) { ServerSocket->Port = 10000; ServerSocket->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::charge_image(TObject *Sender) { AnsiString chemin_absolu; OpenPictureDialog1->Execute(); //Form1->TImage1->Picture->LoadFromFile("mon_image.jpg"); Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { //envoi de l'image en créant un buffer (zone memoire) TMemoryStream *stream = new TMemoryStream(); Image1->Picture->Bitmap->SaveToStream(stream); ServerSocket->Socket->SendBuf(stream->Memory, stream->Size); delete stream; }
Et voici la reception du client (une partie du code) :
void __fastcall TForm1::ClientSocketRead(TObject *Sender, TCustomWinSocket *Socket) { //recoi l'image TMemoryStream *stream = new TMemoryStream(); char Buffer[500000]; int Count; while (Count = ClientSocket->Socket->ReceiveBuf(Buffer, sizeof(Buffer)) != -1) { // stream->Write(Buffer, sizeof(Buffer)); stream->Write(Buffer, Count); Sleep(1000); } stream->Position = 0; Image1->Picture->Bitmap->LoadFromStream(stream); delete stream; }
Et voici l'erreur généré : http://images3.hiboox.com/images/1208/swow6rgb.jpg
A voir également:
- [C++ Builder] SendBuff avec BMP
- Pdftk builder - Télécharger - PDF
- Tiny11 builder - Accueil - Windows
- Family tree builder - Télécharger - Généalogie
- Firewall builder - Télécharger - Web & Internet
- Bart pe builder - Télécharger - Personnalisation
1 réponse
void __fastcall TForm1::Button2Click(TObject *Sender)
{
//envoi de l'image en créant un buffer (zone memoire)
TMemoryStream *stream = new TMemoryStream();
Image1->Picture->Bitmap->SaveToStream(stream);
ServerSocket->Socket->Connection[0]->SendBuf(stream->Memory, stream->Size);
delete stream;
}
Voila là sa devrait marché, il faut que tu précises au ServerSocket à quelle connection tu veux envoyé ton stream. J'ai réussi cet après midi.
Merci à toi ;)
{
//envoi de l'image en créant un buffer (zone memoire)
TMemoryStream *stream = new TMemoryStream();
Image1->Picture->Bitmap->SaveToStream(stream);
ServerSocket->Socket->Connection[0]->SendBuf(stream->Memory, stream->Size);
delete stream;
}
Voila là sa devrait marché, il faut que tu précises au ServerSocket à quelle connection tu veux envoyé ton stream. J'ai réussi cet après midi.
Merci à toi ;)
Merci @+