![]() |
Zugriff von einem externen Rechner auf MYSQL
Delphi 2009
Hallo zusammen, ich betreibe einen Web-Server mit Shops von Kunden. Ein Kunde möchte nun ein Programm für das Einstellen von Produkten haben. Problem: Das Programm muss die IP des Servers haben. Im lokalen Netz ist das kein Problem aber wie bekomme ich es hin, dass das Programm auf dem Kundenrechner, die IP bekommt? Folgendes habe ich gefunden:
Delphi-Quellcode:
Leider bleibt Label2 leer.
function GetIPAddress(const HostName: string): string;
var R: Integer; WSAData: TWSAData; HostEnt: PHostEnt; Host: string; SockAddr: TSockAddrIn; begin Result := ''; R := WSAStartup($0101, WSAData); if R = 0 then try Host := HostName; if Host = '' then begin SetLength(Host, MAX_PATH); GetHostName(@Host[1], MAX_PATH); end; HostEnt := GetHostByName(@Host[1]); if HostEnt <> nil then begin SockAddr.sin_addr.S_addr := Longint(PLongint(HostEnt^.h_addr_list^)^); Result := inet_ntoa(SockAddr.sin_addr); end; finally WSACleanup; end; end; procedure Tf_hauptform.Button1Click(Sender: TObject); begin Label2.Caption := GetIPAddress('google.de'); end; Kann mir jemand einen Tipp geben wie ich das Problem lösen kann? Vielen Dank für die Hilfe. LG Roland |
AW: Zugriff von einem externen Rechner auf MYSQL
Musst du unbedingt die IP haben? In vielen Fällen kann man einfach direkt den Hostname verwenden.
Liebe Grüße, Valentin |
AW: Zugriff von einem externen Rechner auf MYSQL
M.E. ist doch ein Webserver genau dadurch ausgezeichnet, dass er statisch im Netz unter fester IP und Namen erreichbar ist. Faktisch kann sich auch eine statische IP natürlich ändern, aber das hab ich noch nicht erlebt.
Also Name oder IP fest eingeben sollte vollkommen ausreichen. Und wenn sich die Adresse in 2 Jahren mal ändert, dann eben nachtragen. |
AW: Zugriff von einem externen Rechner auf MYSQL
Die IP des Servers ändert sich alle 24 Std. Eine feste IP ist nur lokal in meinem Netzwerk vorhanden.
Da der Kunde sich aber nicht in meinem lokalen Netzwerk befindet, muss das Programm von außen auf die Datenbank zugreifen können. Über die URL des Shops müsste es doch eigentlich möglich sein die IP herauszufinden. LG Roland |
AW: Zugriff von einem externen Rechner auf MYSQL
Dann benötigst du einen Dienst wie Dyndns und Co.
|
AW: Zugriff von einem externen Rechner auf MYSQL
Aber wie betreibt der Kunde denn eine Shop mit der Datenbank auf deinem Server wenn der eine dynamische IP hat?
|
AW: Zugriff von einem externen Rechner auf MYSQL
Zitat:
LG. Roland:-D |
AW: Zugriff von einem externen Rechner auf MYSQL
Oder eine statische IP kaufen, wenn man unbedingt eine möchte.
Ach ja, GetHostByName ist und bleibt immer nur ANSI. :warn: Du nutzt aber ein Unicode-Delphi. Gibt der Compiler denn keine Warungen aus? Wobei @Host[1] eh böse ist und man besser PChar(Host) verwenden sollte. So, also das @ gegen PChar tauschen und vorallen String gegen AnsiString und schon sollte es gehn. Dazu könnte man dann auch noch die Rückgabewerte von GetHostByName und schön wüßte man, was da schief läuft. PS: Das kann man sich auch alles (bis auf's PChar) selber im MSDN raussuchen. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 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