AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Indy9 HTTPServer

Ein Thema von guidok · begonnen am 27. Sep 2007
Antwort Antwort
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#1

Problem mit Indy9 HTTPServer

  Alt 27. Sep 2007, 10:35
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:

  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;
Das funktioniert auch so wie erwartet. Im Explorer tippe ich "http//localhost" und als Ergebnis erhalte ich die mitgelieferte "index.html".

Da der PC ja im Netzwerk erreichbar sein soll, habe ich anschießend die IP geändert.

Delphi-Quellcode:
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;
Ich kann jetzt den Server ordnungsgemäß starten "Listening for HTTP Connection..."

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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz