![]() |
Grundsätzliche Frage zur Kommunikation übers Internet
Hallo!
Ich möchte mich ein wenig mit der Kommunikation über das Internet beschäftigen. In erster Linie, um mich da etwas einzuarbeiten. Mir schwebt ein Projekt Richtung VoIP, Chat, eigenes VPN realisieren, vor. Meine erste Frage ist, wie ich Ip's mit Nutzernamen auf meinem Server im Internet für das Programm bereitstellen soll? Was gibt es da für Zugriffsmethoden, die auch einigermaßen sicher sind (FTP, HTTP...)? Wie kann ich einen solchen Zugriff realisieren? Woher hole ich die IP (PHP-Script)? Viele Grüße... |
Re: Grundsätzliche Frage zur Kommunikation übers Internet
Hallo!
Ist Dein Server ein Linu* oder ein Windows Server? Frank |
Re: Grundsätzliche Frage zur Kommunikation übers Internet
Das heisst *nix ^^
|
Re: Grundsätzliche Frage zur Kommunikation übers Internet
Zitat:
Zitat:
Wie kann ich einen solchen Zugriff realisieren? Woher hole ich die IP (PHP-Script)? [/quote]das Skript braucht die IP-Adresse nicht, oder meinst du die IPs der Clients? |
Re: Grundsätzliche Frage zur Kommunikation übers Internet
Hi!
es ist nen Windows Server. Im Prinzip habe ich mir aber einfach einen Zugriff auf ne Textdatei vorgestellt. Die Clienten sollen da ihre aktuelle IP, den Online-Status und den Benutzernamen hinterlegen, um so untereinander miteinander kommunizieren zu können. Ich brauch nen Denkanstoss, wie ich das vernünftig um- setzen kann. Habe bei Delphi Indy10 installiert. Viele Grüße... |
Re: Grundsätzliche Frage zur Kommunikation übers Internet
Ich würde das mit SOAP lösen...
Somit kanst Du auch davon ausgehen, dass sich Clients die hinter einer Firewall sind, verbinden können... es geht natürlich auch einfach mit einen Get Request auf ein Script...
Delphi-Quellcode:
Der Server kann die IP ermitteln und dann speichern...
Beispiel: // Ungetestet
Var IPListe : TMemoryStream; begin IPListe := TMemoryStream.Create; idhttp1.get('http://www.MyDomain.de/cgi/myip.dll?Name=ABCD&Action=Login&Passwort=XYZABCDE',IPListe); // Was auch immer.... IPListe.free; end; Als Antwort erhälst Du dann z.B. eine Liste der Clients mit den IP Adressen... Hinweis: Einige Provider haben ein IP-Hopping.... d.H. Zwi aufeinanderfolgende Request's müssen nicht unbedingt die gleiche IP Adresse haben. Kann auch an einem Prody liegen... Würde den Nachrichtenaustausch ggf. über einen Server machen (Chat) und da eigene Sessions verwalten. Frank :coder: |
Re: Grundsätzliche Frage zur Kommunikation übers Internet
Hallo Mavarik!
Danke erstmal für deine Antwort. Das erste Problem, was ich bei deiner Lösung habe ist das cgi. Gibt es ein Tutorial, wie man ein cgi mit Delphi erstellt? Wie ermittle ich die IP mit der Hilfe des Servers (habe es bisher immer über nen PHP-Script gemacht)? Viele Grüße... |
Re: Grundsätzliche Frage zur Kommunikation übers Internet
Zitat:
Du kannst das aber auch problemlos als PHP-Script schreiben... Ein Get auf eine Wasauchimmer.php würde das Gleiche bewirken. Schaffe ich aber heute Abend nicht mehr... Auf Wunsch dann morgen... Frank :coder: |
Re: Grundsätzliche Frage zur Kommunikation übers Internet
Hi Mavarik!
Das wäre sehr nett. :spin2: Mach dir keinen Stress. Viele Grüße... |
Re: Grundsätzliche Frage zur Kommunikation übers Internet
OK!
Walkthrough: Datei - Neu - weitere - Web Server Anwendung ISAPI*.* ObjektInspector (OI) : Actions Klick - Neu OI: Pathinfo := /LOGIN OI: Ereignisse OnAction dblKlick
Delphi-Quellcode:
Dann auf Server laden...
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); begin response.Content := 'Keine anderer User online!'; // lol IP := request.RemoteAddr; UserName := Request.QueryFields.Values['NAME']; UserPass := Request.QueryFields.Values['PASSWORT']; Handled := true; // default end; ![]() Für das cgi Verzeichniss noch die Rechte setzen... User : IUSR_MASCHINENNAME Ausführen und Dateierstellen/schreiben, falls Du die IP in eine Dateischreiben willst... (Achtung Threadsave "TMultiReadExclusiveWriteSynchronizer" verwenden) Aufruf dann wie gesagt:
Delphi-Quellcode:
mfg Frank (Hoffe es hilft) :coder:
idhttp1.get('http://www.deineDomain.de/cgi/IPCheck.dll/LOGIN?NAME=ABC&PASSWORT=DEF',IPListe);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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