Einzelnen Beitrag anzeigen

Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#1

Bild mittels TServerSocket für Browser bereitstellen

  Alt 23. Apr 2005, 12:09
Moin Moin,

Es geht darum das ich:
- mittels Delphi 5 Standard
- ein EinzelBild der TJvAVICapture Komponente
- an einem Port mittels der TServerSocket Komponente
bereitstellen möchte

Im Moment bin ich noch am testen um überhaupt erstmal ein Bild komplett zu übertragen
dazu nutze ich folgenden Code:

Delphi-Quellcode:
// Server starten
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
     ServerSocket1.Active := false;
     ServerSocket1.Port := StrToIntDef(Edit4.Text,8888); // Port 8888 ist Standard
     try
        ServerSocket1.Active := true;
     except
        raise;
     end;

     if ServerSocket1.Active then
     begin
       ToolButton13.Enabled := false;
       ToolButton12.Enabled := true;
       StatusBar1.Panels[1].Text := 'Server ist: ONLINE an Port ' + Edit4.Text;
     end;
end;


procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var fsWork : TFileStream;
    sBuffer : String;
    Stream : TMemoryStream;
begin
    Stream := TMemoryStream.Create;
    Stream.LoadFromFile(programmverzeichnis + '\testbild.jpg');
    Stream.Seek(0,soFromBeginning);

    Socket.SendStream(Stream);

    sleep(100);
    ToolButton13.Click;
end;
Info:
- in "programmverzeichnis" steckt der Path zur Anwendung drinn.
- ToolButton13.Click startet den Server neu (also TForm1.BitBtn1Click), das muß ich machen warum auch immer, geht auch nur mit dem sleep davor. (hatte ich durch testen herrausbekommen indem ich auf den Server-Start-Button gelickt hatte)

wenn ich jetzt per IPORT (123.456.789.123:888) das ganze im Browser aufrufe nachdem ich natürlich den Server gestartet habe wird ein teil vom Bild angezeigt, manchmal auch das ganze Bild doch meistens nur ca 2/3 vom Bild.

Tja jetzt kommt natürlich die Frage der Fragen: Wie bekomme ich das hin
Also zumindest erstmal das das TestBild korrekt übertragen wird.

Ich bin auch bereit mit Indy zu arbeiten wenn mir einer sagt welche Komponenten ich dnn da nutzen muß und wie
Danke schon mal im Vorraus

PS: bin kein Profi sondern noch Neuling in der Materie
Jens
  Mit Zitat antworten Zitat