begin process at 2008 07 05 07:30:37
1 205 059 membres
45 nouveaux aujourd'hui
14 118 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [Socket] SendBuff une BMP [ Windows / Réseau & Internet ] (afrodje)

[Socket] SendBuff une BMP le 20/03/2008 14:40:04

afrodje
Salut.

Je voudrais transmettre un fichier image (bmp) avec les composants Tsocketserveur et TSocketclient.
Mon problème vient d'une vulgaire fenêtre windows qui s'ouvre à l'execution de Button2Click
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) :

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;
}
Merci

Re : [Socket] SendBuff une BMP le 20/03/2008 16:15:08

DeAtHCrAsH
Salut,
Question bêtes mais vu ton screenshot, est-ce que tu as bien penser a connecter tes deux sockets avant de faire le send ?

Shell

Re : [Socket] SendBuff une BMP le 20/03/2008 16:22:06

afrodje
oui parce que si je modifie le code et j'effectue un envoi avec du texte (avec SendText), cela fonctionne.


Classé sous : buffer, image, void, socket, stream

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS