Entwickler-Ecke
Internet / Netzwerk - prüfen ob port 80 schon benutzt wird?
Sniky - Di 22.04.08 17:59
Titel: prüfen ob port 80 schon benutzt wird?
Hi,
wieder mal ich :)
ich hab da mal wieder eine Problem, kann ich irgend wie beim start von meinem Programm rausfinden ob schon irgend ein programm den port 80 besetzt?
Ich glaub es dürfte ja eigentlich nur ein Server sein der auf Port 80 laufen dürfte. Kann man da irgend wie prüfen ob da schon ein server läuft oder op port 80 noch frei ist?
vielen dank!
Liebe Grüße,
Sniky
Fighter#1 - Di 22.04.08 18:05
Versuch halt den Server zu starten und check nach obs nen Fehler gibt oder nich *g*
Sniky - Di 22.04.08 18:31
Fighter#1 hat folgendes geschrieben: |
Versuch halt den Server zu starten und check nach obs nen Fehler gibt oder nich *g* |
ja das ist ja ebend das problem, hab ich mein xampp zu laufen, gibt es im vista einen fehler beim start vom programm, ich weiß aber nicht wie ich diesen fehler abfangen kann?
Danke.
Gruß Sniky
<TargeT> - Di 22.04.08 18:46
Mit
Oder
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| try finally end; |
Yogu - Di 22.04.08 19:42
Der erste Teil stimmt,
finally wird
immer aufgerufen, auch wenn eine Ausnahme ausgelöst wird. Beim zweiten Satz muss ich dich korrigieren:
Der Fehler wird nicht abgefangen.. In
finally sollten Anweisungen stehen, die unbedingt notwendig sind. Zum Beispiel den Cursor von Sanduhr auf Zeiger zurücksetzen,
EndUpdate aufrufen oder Objekte freigeben.
Du brauchst auf jeden Fall
except, um den Fehler abzufangen. Aber du solltest auf jeden Fall nur den
erwarteten Fehler abfangen - alle anderen müssen gemeldet werden.
Beispiel:
1: 2: 3: 4: 5: 6: 7:
| try DoSomething; DoSomethingOther; except on E: EMyError do else raise; end; |
<TargeT> - Di 22.04.08 19:52
Das versteh ich nicht ganz Yogu.....
Sobald ein Fehler zwischen try und finally eintritt bekomme ich ja keine Fehlermeldung, sondern es wird sofort der Teil zwischen finally und end; ausgeführt
zb:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| try a:= tstringlist.Create; a.Add('test'); a.SaveToFile('test.txt'); finally a.Free; end; |
Wo müsste denn hier ein except rein?
Yogu - Di 22.04.08 20:00
Du musst um das Ganze Konstrukt die try except on E: EYourException do else raise end; bauen. Dann wird der Fehler EYourException komplett ignoriert. Du könntest auch zwischen do und else Code schreiben, der Beim Fehler ausgeführt werden soll.
Sniky - Mi 23.04.08 15:39
ok, hab ich jetzt gelösst, ich gucke einfach ob localhost oder 127.0.0.1 schon zu erreichen ist und wenn ja starte ich den server erstmal nicht... nur hab ich da jetzt gleich das nächste problem...
Ich möchte dann gerne, wenn der Server nicht gestartet ist den Port von diesen Server über ein Formularfeld ändern.
Nun hab ich ja schon rausgefunden wo ich den port ändere und das es so auch funktioniert:
object HTTPServer: TIdHTTPServer
Active = True
Bindings = <>
DefaultPort = 2001
OnCommandGet = HTTPServerCommandGet
AutoStartSession = True
SessionTimeOut = 1200000
Left = 168
Top = 24
end
da steht ja dann der defaultPort (hab ich erstmal auf 2001 gestellt)
Nur steht das ja jetzt in der main.cfg... wenn das jetzt in der main.pas stehen würde, wüsste ich das ja vielleicht sogar wie ich das machen könnte, nur so weiß ich das jetzt leider gar nicht :(
Ich hab mir jetzt schon ein Textfeld angelegt und alles versucht nur bekomme ich das irgend wie wirklich nicht hin.
Mein Textfeld heißt jetzt: Edit1 und in dieses trage ich eigentlich den Port ein und mochte dann ganz gerne, das DefaultPort dann das wird was im Edit1 Feld steht.
Kann mir da vieleicht jemand sagen wie ich das machen kann?
Vielen Dank!
Liebe Grüße,
Sniky
Yogu - Mi 23.04.08 16:52
Erstelle bitte ein neues Topic mit diesem Thema. Das hier heißt "prüfen ob port 80 schon benutzt wird?" und hat relativ wenig mit einer Portänderung zu tun. Dann können wir gezielter antworten.
Grüße,
Yogu
Sniky - Mi 23.04.08 17:00
ok, sorry... ich dachte passt da auch noch ganz gut mit rein, da das eine ja irgend wie die andere frage mit sich bringt ;) aber egal mach ich ein neues auf...
Danke.
Gruß Sniky
Yogu - Mi 23.04.08 17:07
Sniky hat folgendes geschrieben: |
ich dachte passt da auch noch ganz gut mit rein, da das eine ja irgend wie die andere frage mit sich bringt |
Lieber zu viele Topics aufmachen, als zu wenig. Auf gezielt beschriebene Probleme (und damit auch wirklich nur auf
ein Problem pro Topic) kann sehr viel effizienter geantwortet werden als auf ein Mischmasch aus mehreren Fragen. Das nur so am Rande erwähnt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!