AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdHttpServer und mehrere Bindings
Thema durchsuchen
Ansicht
Themen-Optionen

TIdHttpServer und mehrere Bindings

Ein Thema von GuenterS · begonnen am 12. Mär 2006 · letzter Beitrag vom 12. Mär 2006
Antwort Antwort
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#1

TIdHttpServer und mehrere Bindings

  Alt 12. Mär 2006, 14:11
Hallo,

ich bin dabei ein Programm zu schreiben, welches auf mehreren IP/Port auf Http Anfragen lauschen soll.

Dazu würde ich gerne die Indy Komponente TIdHttpServer verwenden. Denke dass mir diese schon eine Menge Arbeit abnimmt.

Solange ich nur eine Adresse mit einem Port zuweise klappt es, aber sobald es mehr werden bekomm ich eine Fehlermeldung. ("SocketFehler 10049. Die angeforderte Adresse kann nicht zugewiesen werden.")

Mein Code schaut in etwa so aus:
Delphi-Quellcode:
  if (not Server.Active) then
  begin
    with qryFirma do
    begin
      First;
      while (not Eof) do
      begin
        lSocketHandle := Server.Bindings.Add;
        lSocketHandle.IP := FieldByName('IP').AsString;
        lSocketHandle.Port := FieldByName('PORT').AsInteger;
        Next;
      end;
    end;
    Server.Active := true;
  end
  else
    Server.Active := false;
Der Fehler kommt genau dann, wenn ich den Server auf Active = true setze.

Als IP und Ports würde folgendes eingetragen
IP: '127.0.0.1' Port: 80
IP: '192.168.1.110' Port: 80
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: TIdHttpServer und mehrere Bindings

  Alt 12. Mär 2006, 14:50
Hallo Günter,

hast du vorher geprüft, dass kein anderer Prozess die entsprechenden sockets gebunden hat? Eventuell blockiert ein lokaler HTTP Server den Port 80 auf diesen oder sogar allen Adressen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TIdHttpServer und mehrere Bindings

  Alt 12. Mär 2006, 15:13
Hallo Marabu!

Das habe ich zwar nicht geprüft, kann es aber ausschließen, da es funktioniert wenn ich jeweils eine der zwei IPs verwende und der Fehler erst dann kommt wenn ich 2 oder mehr eingeben möchte.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: TIdHttpServer und mehrere Bindings

  Alt 12. Mär 2006, 15:47
Ich kann deinen Fehler nur reproduzieren, wenn ich meinen HTTP Server hochfahre. Der lauscht auf 0.0.0.0:80 - fahre ich ihn runter, dann kann ich problemlos mehrere Bindings festlegen. (Indy9)

marabu
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TIdHttpServer und mehrere Bindings

  Alt 12. Mär 2006, 15:58
Du hast recht.

Ich war mir nur so sicher, dass 192.168.1.110 meine eigene IP-Adresse ist, deswegen dachte ich, dass ich einen zweiten Prozess ausschließen könnte. War nur nicht meine IP.

Funktioniert einwandfrei.


Dankeschön
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
hatro70

Registriert seit: 28. Jan 2006
23 Beiträge
 
#6

Re: TIdHttpServer und mehrere Bindings

  Alt 12. Mär 2006, 18:44
Zitat von GuenterS:
Du hast recht.

Ich war mir nur so sicher, dass 192.168.1.110 meine eigene IP-Adresse ist, deswegen dachte ich, dass ich einen zweiten Prozess ausschließen könnte. War nur nicht meine IP.

Funktioniert einwandfrei.


Dankeschön
warum bindest du ihn nicht auf 0.0.0.0:80 ? wie marabu meinte ?

das schliesst alle ips ein also deine interne 127.0.0.1
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: TIdHttpServer und mehrere Bindings

  Alt 12. Mär 2006, 19:24
Zitat von hatro70:
Zitat von GuenterS:
Du hast recht.

Ich war mir nur so sicher, dass 192.168.1.110 meine eigene IP-Adresse ist, deswegen dachte ich, dass ich einen zweiten Prozess ausschließen könnte. War nur nicht meine IP.

Funktioniert einwandfrei.


Dankeschön
warum bindest du ihn nicht auf 0.0.0.0:80 ? wie marabu meinte ?

das schliesst alle ips ein also deine interne 127.0.0.1
weil auf dem System wo das Programm mal laufen soll durchaus auch andere HTTP Server laufen können müssen und zweitens soll er nur von bestimmten konfigurierbaren Adressen erreichbar sein.
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  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 08:22 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