![]() |
Problem mit Indy9 HTTPServer
Hallo,
ich experimentiere gerade etwas mit der HTTPServer Komponente von Indy9 herum. Hintergrund ist, dass ich meine Software mit einem (Intra-)Webinterface ausrüsten möchte, sprich ein Benutzer im Firmennetz soll mit dem Explorer auf Daten aus den Anwendung zugreifen können. Soweit habe ich erst mal die HTTPServerDemo von Indy9 hergenommen und etwas abgeändert. Da ich Turbo Delphi verwende und damit die Komponenten nicht zur Entwurfszeit anlegen kann ist die Instanzvariable zu den private-Deklarationen gewandert und wird im OnCreate erzeugt.
Delphi-Quellcode:
Das funktioniert auch so wie erwartet. Im Explorer tippe ich "http//localhost" und als Ergebnis erhalte ich die mitgelieferte "index.html".private HTTPServer: TIdHTTPServer; procedure TfmHTTPServerMain.FormCreate(Sender: TObject); begin //Instanz erzeugen und Ereignisbehandlung HTTPServer:=TIdHTTPServer.Create(self); HTTPServer.OnCommandGet:=HTTPServerCommandGet; HTTPServer.OnSessionStart:=HTTPServerSessionStart; HTTPServer.OnSessionEnd:=HTTPServerSessionEnd; HTTPServer.OnConnect:=HTTPServerConnect; HTTPServer.OnDisconnect:=HTTPServerDisconnect; HTTPServer.OnExecute:=HTTPServerExecute; HTTPServer.OnCommandOther:=HTTPServerCommandOther; HTTPServer.OnStatus:=HTTPServerStatus; Da der PC ja im Netzwerk erreichbar sein soll, habe ich anschießend die IP geändert.
Delphi-Quellcode:
Ich kann jetzt den Server ordnungsgemäß starten "Listening for HTTP Connection..."
procedure TfmHTTPServerMain.acActivateExecute(Sender: TObject);
var Binding : TIdSocketHandle; begin acActivate.Checked := not acActivate.Checked; lbSessionList.Items.Clear; if not HTTPServer.Active then begin HTTPServer.Bindings.Clear; Binding := HTTPServer.Bindings.Add; Binding.Port := StrToIntDef(edPort.text, 80); //Binding.IP := '127.0.0.1'; Binding.IP := LocalIP; //LocalIP ist eine Function, die ich aus der Codelibrary habe. Passt so. end; Tippe ich jetzt im Explorer meine eigene IP ein, dann erhalte ich eine Exception "Connection reset by peer". Im Logfenster der Serverdemo steht "User logged in" und danach "User logged out". Von einem anderen Rechner passiert gar nichts. Buäh! Ich möchte jetzt nicht ausschließen, dass es an gewissen Einstellungen im Netzwerk liegt, wobei ein Mitarbeiter bei IT mir sagte, intern wären die Ports offen. Was nun? Vorschläge willkommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz