bonjour,
Voila j'ai effectuer une reception d'image avec clientsocket et j'affiche cette image ares l'avoir recu, mais j'ai un probleme avec le buffer, kan je recoi la 1ere image elle fait 23Ko , puis kan je recoi la 2eme image(ou la meme) elle fai 46Ko et ainsi de suite, sa augmente et j'ai un message derreur , donc je voudrais savoir comment effacé le buffer une fois l'image afficher, voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; FILE *fp; int n = 0; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::ClientSocket1Read(TObject *Sender, TCustomWinSocket *Socket) { char buf[15000]; n=Socket->ReceiveBuf(buf,15000); fp = fopen("test.bmp","a+b"); fwrite(buf, 1 , n , fp) ; fclose(fp) ; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Form1->Image1->Picture->LoadFromFile("test.bmp"); } //---------------------------------------------------------------------------
Partager