Hallo.
Ich bin schon länger auf der Suche, wie ich ein Bild mit winsock versenden/empfangen kann.
Das ist mein kläglicher Versuch:
Empfangen:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
|
HBITMAP mBild; //Die zu empfangene Bilddatei
DWORD mSize; //Die Größe der Bilddatei
recv(connectedSocket,(char*)&mSize,sizeof(DWORD),0); //Die Größe empfangen
recv(connectedSocket,(char*)&mBild,mSize,0); //Das Bild empfangen
mCurrentImage=mBild; //Bild kopieren
DeleteObject(mBild); //Speicher wieder freigeben
InvalidateRect(hWnd, 0, true); //Fenster neu Zeichnen
|
Senden:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
|
HBITMAP mImage = (HBITMAP) LoadImage (0,
"Bild.bmp",
IMAGE_BITMAP,
0,
0,
LR_LOADFROMFILE); //Bild laden
DWORD mSize=sizeof(mImage); //Größe des Bildes ermitteln
send(mSocket,(const char*)&mSize,sizeof(DWORD),0); //Größe des Bildes senden
send(mSocket,(const char*)&mImage,mSize,0); //eigentliches Bild senden
|
Wie geht das richtig?
Gruß Flo
PS: Mein Beispiel ist völliger Quatsch, da die Größe der Datei 4 Byte beträgt... Ich denke das in HBITMAP nicht die richtige Datei abgelegt wird oder?