ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
922
922
EMPFEHLEN
-
Code :
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 40 41 42 43 44 45 46 47 48 49 50 51 52
/* ========================================================================== */ /* */ /* screen.cpp */ /* */ /* Der Versuch eine Bitmap über den ServerSocket zu senden */ /* */ /* */ /* Info: */ /* - SerS = ServerSocket */ /* - ScreenBMP = new Graphics::TBitmap; */ /* - int __fastcall TForm1::GetConnections(void) */ /* { */ /* connections=SerS->Socket->ActiveConnections; */ /* return(connections); */ /* } */ /* ========================================================================== */ void __fastcall TForm1::btn_sendimageClick(TObject *Sender) { SocketStream = new TWinSocketStream(SerS->Socket,5000); // Socket Stream Speicherpuffer = new TMemoryStream; // zwischen Stream TRect R; //Rechteck um Größe des Screenshots festzulegen R=Rect(0,0,400,300); // ScreenBMP->Canvas->StretchDraw(R,ScreenBMP); //Screenshot auf Screenshot strechten x=0->400 y=0->300 ScreenBMP->Width= 400; //Nur noch gestrecktes Bild in ScreenBMP anzeigen ScreenBMP->Height= 300; // ScreenBMP->SaveToStream(Speicherpuffer); // Screenshot in zwischen Stream speichern ScreenBMP->SaveToFile("test.bmp"); // Screenshot als File speichern (nur zum Testen) ShowMessage(Speicherpuffer->Size); // Die Eigenschaft Size gibt // die Größe des Streams in Byte an. // Mit Position können Sie die aktuelle Position im Stream ermitteln. // Dies ist die Byte-Anzahl ab dem Beginn der Stream-Daten. Speicherpuffer->Position = 0; // Position zurück auf Byte 0 Form4->Image1->Picture->Bitmap->LoadFromStream(Speicherpuffer); // Bild aus Stream laden (nur zum Testen) if(GetConnections()>0) // Überprüfung ob Verbindung zu einem oder mehreren { // Clients steht streamed = True; // streamed merkt sich ob gestreamt wurde... for(int i=0;i<connections;i++) { if(!SocketStream->WaitForData(5000)) // Wenn Socket frei ist (inerhalb 5 sek.) { SocketStream->Write(Speicherpuffer,Speicherpuffer->Size); // Schreibe zwischen Stream auf Socketstream } } } }
Leider kommt am Client nichts an, der Server bleibt beim Klicken auf btn_sendimage 5 sek. hängen und mehr passiert - im Bezug auf Netzwerkkommunikation - nicht...
Ähnliche Themen
-
Serversocket sauber beenden
Von RealHAZZARD im Forum JavaAntworten: 7Letzter Beitrag: 03.03.09, 16:29 -
ServerSocket unter Windows XP
Von philBerlin im Forum JavaAntworten: 2Letzter Beitrag: 21.08.07, 15:07 -
Problem mit Socket und ServerSocket
Von mrno im Forum JavaAntworten: 1Letzter Beitrag: 28.08.06, 13:08 -
ClientSocket zu langsam ?
Von MaXtor im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 06.03.04, 16:49 -
POP3 mit ClientSocket (StringGrid)
Von WhiteStar99 im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 13.04.03, 18:48





Zitieren
Login






