Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi PC zu PC verbindung via Internet (https://www.delphipraxis.net/74059-pc-zu-pc-verbindung-via-internet.html)

hedie 27. Jul 2006 14:07


PC zu PC verbindung via Internet
 
Hallo

Ich möchte ein Programm machen das es Erlaubt dem Benutzer Daten zwischen 2 pcs auszutauschen via web also eigentlich ein filesharing programm aber nur für 2 pcs

Wegen der Sicherheit habe ich schon alles durchdacht

mir geht es in diesem theard um die Verbindung zwischen den PCs

1. Wie kann ich das machen das auch ein PC hinter einem Router sich verbinden kann
2. Welche Komponente soll ich verwenden (indy...)

Wichtig es ist soll eine direkt verbindung zwischen den pcs hergestellt werden also ohne server dazwischen


ich hoffe ihr helft mir dies zu relalisieren

liebe grüsse
Claudio

Zacherl 27. Jul 2006 14:55

Re: PC zu PC verbindung via Internet
 
Hi,
ein Server muss zwangsweise geöffnet werden ... am besten den Rechner ohne Router den Server öffnen lassen, damit der PC mit Router zu diesem verbinden kann. Dazu würde ich einen IdFTPServer und einen IdFTP verwenden.

Florian

igel457 27. Jul 2006 15:22

Re: PC zu PC verbindung via Internet
 
Lass in deinem Programm gleichzeitig einen Server und einen Client laufen. Daten werden nur mit dem Server empfangen und nur mit dem Client gesendet.

hedie 27. Jul 2006 15:33

Re: PC zu PC verbindung via Internet
 
ok und nun zum problem

Client kann ich ohne probleme Proggen nur den Server krieg ich nie hin


am besten noch mit HTTP für ein WEB interface

kann mir jemand helfen einen FTP und HTTP server zu Programmieren

Zacherl 27. Jul 2006 15:47

Re: PC zu PC verbindung via Internet
 
Für den FTP Server: guck dir mal die Indy Demos an.

hedie 27. Jul 2006 15:55

Re: PC zu PC verbindung via Internet
 
Hmmmm ich werde nicht schlau daraus kannst du mir nicht den simplen code mit erklärung posten?


Und was ist mit dem http server?

Der_Unwissende 27. Jul 2006 16:05

Re: PC zu PC verbindung via Internet
 
HI,
von einem FTP Server würde ich dir persönlich eher abraten. An sich gilt sowohl für HTTP als auch für FTP Server, dass es doch da schon einige gute Lösungen gibt. Du solltest also eher schauen, wie du eine Anbindung an diese Server bekommst als dir einen neuen zu schreiben (es gibt da einfach schon zu viele!).
Das sollte sich in deinem Fall eher lohnen, du musst dir dann keine Gedanken über Probleme machen, die andere Programme schon lange gelöst haben.
Was FTP angeht, so hast du hier ein paar Schwierigkeiten zu bewältigen. Ausserdem sind FTP Server immer gern gesehene Angriffsziele. Gerade in Zusammenarbeit mit einem Router hast du noch dieses schöne Problem, dass FTP einen zufälligen Port wählt für die Datenübertragung. Das ganze schränkt den Nutzen einer Firewall (oder die Datenübertragung per FTP) etwas ein.
Es gibt ja schließlich Alternativen.

Dein Hauptproblem für eine Peer-To-Peer Verbindund dürfte es sein, wie die sich finden. Wenn du keinen zentralen Server verwenden möchtest, der die Verbindung zwischen beiden vermittelt hast du ein Problem. Die IPs der beiden Rechner dürften dynamisch sein. Du müsstest also dafür sorgen, dass die entweder über eine feste Adresse (sowas wie dynDns.org oder ähnliche) erreichbar sind oder die müssten die IP des gegenüber kennen (was wohl weniger praktikabel sein dürfte).
Hast du einen zentralen Server, so hat der ja immer einen festen Namen. Meldet sich hier jmd. an, weiß der Server ja schon wer (mit welcher IP) noch existiert und kann hier die entsprechenden Daten weiterreichen. Die Übertragung findet dann trotzdem nur zwischen den Clients statt.
Der Weg mit der festen Adresse (die dann dyn. in die aktuelle IP aufgelöst wird) ist im Prinzip das Gleiche. Hier ist die feste Adresse über die man die Daten bezieht dann natürlich der DNS. Aber letztlich hast du im zweiten Fall noch das Problem, dass sich jeder der dein Prog. nutzen möchte eine Domain holen muss, die dyn. IPs unterstützt (gibt's kostenlos) und dann noch dafür sorgen muss, dass die IP aktuell gehalten wird (gibt's natürlich auch Tools für).

Was einen Rechner hinter einem Router angeht, so besteht hier das eigentliche Problem immer darin, dass ein Router ankommende Pakete standardmässig verwirft. Letztlich hätte auch ein Server nur die IP Adresse des Routers. Kommen jetzt Daten von Aussen (ohne das vorher einer der Rechner hinter dem Router diese Daten angefordert hat), so hast du der das Problem, dass er ja nicht weiß für wen dieses Paket sein soll. Es gibt natürlich für den Router die Möglichkeit einfach das Paket per Braodcast an alle zu reichen, aber so dumm ist dann zum Glück kein Router.
Eine Alternative hier ist es, dass der Router Port-Forwarding unterstützt. Hier kann dann für einzelne Ports festgelegt werden, an wen Pakete auf diesem Port weitergereicht werden. Wird dies nicht vom Router unterstützt, wird es nicht wirklich möglich sein am Router vorbei zu kommen (nicht sinnvoll).

Ja, für den HTTP und FTP Server bleibe ich dabei, nimm einfach einen Server den es schon gibt. Gerade die Apache Groupe bietet einige gute Server, die sich teilweise auch sehr schön erweitern lassen.

Gruß Der Unwissende

hedie 27. Jul 2006 16:12

Re: PC zu PC verbindung via Internet
 
Erstmal vielen dank für diesen Post (gefällt mir sehr)

Aber ich möchte eben einen HTTP server Programieren um freier zu sein in der Entwicklung der Software.


Deshalb bleibe ich trotz deines überzeugenden posts dabei einen HTTP und FTP server zu Programmieren (auch einfach darum um was zu lernen :) )

also hoffe ich doch sehr das mir der eine oder andere bei diesem vorhaben zurseite steht und mit mir den Code Entwickelt


Vielen dank

hedie 27. Jul 2006 17:10

Re: PC zu PC verbindung via Internet
 
Es kann doch nicht sein das sich hier niemand mit HTTP servern von der Indy Kompo auskennt oder?


Weshalb bekomme ich keine hilfe?


Bitte Helft mir doch

faux 27. Jul 2006 17:25

Re: PC zu PC verbindung via Internet
 
Du weißt aber schon, dass das hier ein öffentliches Forum ist? In einem Forum kann jeder selbst entscheiden, ob er jemandem hilft, oder nicht. Hier ist sicherlich niemand dazu verpflichtet, dir zu helfen. :roll:
Desweiteren kannst du doch mal etwas warten. Du beschwerst dich, weil du nicht innerhallb von 1 Stunde hilfe bekommst? :wall:
Wenn du professionelle Hilfe brauchst, kannst du dich an eine Firma wenden. Billig wird das allerdings nicht werden....
Übrigens gibts rechts oben von jedem Beitrag so nen http://www.delphipraxis.net/template.../icon_edit.gif Button.

Sergej 27. Jul 2006 17:26

Re: PC zu PC verbindung via Internet
 
Zitat:

Zitat von hedie
Weshalb bekomme ich keine hilfe?

Vielleicht weil keiner Lust hat deine Arbeit zu machen :roll:

Wie wärs mal mit Hier im Forum suchenIndy Http

Da findest du genug fürs erste....

hedie 27. Jul 2006 17:35

Re: PC zu PC verbindung via Internet
 
ok tut mir leid eigentlich hab ich das auch geschrieben damit es wider nach oben geht

hedie 27. Jul 2006 19:08

Re: PC zu PC verbindung via Internet
 
Ok kann mir jemand helfen beim einstellen des Root Directorys des Indy HTTP servers?

alles andere klappt nur das nicht


ich habe schon alles versucht auch gegooglet und die foren suche benutzt


hoffe ihr könnt mir helfen danke

faux 27. Jul 2006 19:23

Re: PC zu PC verbindung via Internet
 
Bei Google suchentutorial indy httpserver

Der http://www.delphipraxis.net/template.../icon_edit.gif Button ist übrigens noch immer da...

hedie 27. Jul 2006 19:30

Re: PC zu PC verbindung via Internet
 
ich denke mal du meintest den Edit button ja ich weiss das es ihn gibt


Wegen dem google link das hab ich auch schon probiert aber leider gibts da kein tutorial über
indy http server

es gibt im gesamten google keine beispiele mit indy http servern deshalb bin ich ja hier und frage

faux 27. Jul 2006 19:51

Re: PC zu PC verbindung via Internet
 
Zitat:

Zitat von hedie
es gibt im gesamten google keine beispiele mit indy http servern deshalb bin ich ja hier und frage

:lol: :mrgreen: Der is gut! X-D
Du willst doch nicht etwa behaupten, dass du alle in Google eingetragenen Seiten kontrolliert hast?! :wall:

http://www.turbohtml.com/TurboHtml%2...0Tutorial.html --> 2. Ergebnis!

hedie 27. Jul 2006 19:54

Re: PC zu PC verbindung via Internet
 
:D Also ich bin ehrlich diese seite habe ich schon gesehen :D


Sie zeigt wie man eine seite direkt aus delphi ins internet stellt ich möchte aber
ein verzeicniss (ordner auf dem pc) ins internet stellen und das wird dort nicht beschrieben

arbu man 27. Jul 2006 20:14

Re: PC zu PC verbindung via Internet
 
hast du dir mal die Indy Demos angeschaut ?

Oder suchst ein Tutorial a lá Verzeichnis auf anderen Rechner verfügbar machen dann hier das Verzeichnis eintragen und fertig ?

hedie 27. Jul 2006 20:17

Re: PC zu PC verbindung via Internet
 
Demos Habe ich angeschaut leider hat mir das nichts gebracht da die ja nicht mal funktionierten
(indy 9 demos ich habe indy 10)

Ja also ich möchte einfach auf dem pc wo das prog läuft ein verzeichnis im web freigeben das mit
der pc ip direkt abgefragt werden kann um so daten auszutauschen

faux 27. Jul 2006 20:41

Re: PC zu PC verbindung via Internet
 
Zitat:

Zitat von hedie
hat mir das nichts gebracht da die ja nicht mal funktionierten

Also das bezweifle ich mal stark. Die werden doch wohl kaum nicht funktionierende Beispiele dazu geben. :roll:
Ich hab mir die mal vor längerer Zeit angesehen und die haben alle funktioniert.

Zacherl 27. Jul 2006 21:29

Re: PC zu PC verbindung via Internet
 
Ich rate sowieso Indy10 runterzuschmeißen und Indy9 zu installieren. Die 10ner sind an einigen Stellen noch ziemlich buggy.

Florian

hedie 27. Jul 2006 21:48

Re: PC zu PC verbindung via Internet
 
Hmmmmmm

eigentlich wollte ich nur n beispiel code haben wie ich dem server sagen kann welches verzeichnis er ins web stellen soll.

Kann mir niemand den code posten ?


Ist doch bestimmt nicht so lang (3 zeilen ?)




danke

CG2003 27. Jul 2006 21:55

Re: PC zu PC verbindung via Internet
 
Tz Tz Tz, hier wird Dir sicherlich KEINER Deine Arbeit erledigen.
Du hast Indy 10? Wunderbar!

Hier findest Du Demos für Indy 10, die definitiv laufen (hab's gerade getestet):
Demos für Indy 10 die laufen

Darunter ist auch 100%ig ein HTTP Server Beispiel.


Mit der Hoffnung, Dir geholfen zu haben.

hedie 27. Jul 2006 22:04

Re: PC zu PC verbindung via Internet
 
Vielen vielen vielen vielen vielen

dank


das war das was ich die ganze zeit über gesucht habe

nun nur noch eine frage wie kann ich das einstellen das es directory listing zulässt? also alle vorhandenen dateien anzeigt?

CG2003 27. Jul 2006 22:19

Re: PC zu PC verbindung via Internet
 
Zitat:

Zitat von hedie
Vielen vielen vielen vielen vielen

dank


das war das was ich die ganze zeit über gesucht habe

nun nur noch eine frage wie kann ich das einstellen das es directory listing zulässt? also alle vorhandenen dateien anzeigt?

Schau' doch mal in die Dokumentation zu Indy 10: Indy 10 Dokumentation

hedie 27. Jul 2006 22:23

Re: PC zu PC verbindung via Internet
 
da steht leider auch nichts davon drin wie ich das directory listing zulassen kann

CG2003 27. Jul 2006 22:25

Re: PC zu PC verbindung via Internet
 
Zitat:

Zitat von hedie
da steht leider auch nichts davon drin wie ich das directory listing zulassen kann

Also das Stichwort "Directory Listing" kenne ich nur von den Indy FTP Komponenten.
Ich verstehe nicht ganz wie Du das mit Deinem HTTP Server im Zusammenhang meinst

Sag' uns doch einfach mal ein wenig genauer, was Du vorhast. Vielleich können wir Dir dann besser helfen.

Zacherl 27. Jul 2006 22:29

Re: PC zu PC verbindung via Internet
 
Also du kannst über deinen IdHTTPServer doch eine HTML Formatierte Seite ausgeben. Wieso listets du nicht mit den normalen Delphi Funktionen ein Verzeichniss auf und gibst das Ergebniss als HTML Text zurück?

Florian

hedie 27. Jul 2006 22:31

Re: PC zu PC verbindung via Internet
 
weil

man da nichts direkt downloaden kann und beim Normalen Listing kann mann alles schön downloaden wie ein normaler ordner


aber gute idee die werde ich auch einbauen in meine software wen jemand ein listing nicht will

Zacherl 27. Jul 2006 22:38

Re: PC zu PC verbindung via Internet
 
Im normalen Listing wie es z.b. der Internet Explorer macht, kannst du Sachen downloaden, genauso, wie wenn du das Listing selbst bastelst. Der Dateiname könnte ein Link auf die Datei sein. Entweder der HTTP Server macht das sogar von selbst (hab nie damit gearbeitet, deshalb kann ich nichts näheres sagen), oder du musst irgendwie von Hand dem Server sagen, dass er die angeklickte Datei dem Client als Binary schicken soll.

hedie 27. Jul 2006 22:40

Re: PC zu PC verbindung via Internet
 
ja eben um das geht wie ich ihm das sagen kann

ansonsten lasse ich eine seite erzeugen die ein javascript mit dem listing enthält


wen ich mal ein script gefunden habe :D

Zacherl 27. Jul 2006 22:49

Re: PC zu PC verbindung via Internet
 
Ich hab mir grade selbst mal die IdHTTPServer Demo angeguckt und muss sagen: Da ist doch alles drinn. Von Benutzerauthentifizierung über das Ausliefern von HTML Dokumenten bis hin zum Dateidownload.

Das sollte allen deinen Wünschen entsprechen ;)
Florian

hedie 27. Jul 2006 23:51

Re: PC zu PC verbindung via Internet
 
Also ich hab hier mal den Code

Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
  var
  Stream: TFilestream;
  begin

  Stream := TfileStream.Create('HTML/index.htm',fmopenread);
  AResponseInfo.ContentStream := Stream;
  ARequestInfo.Document := '/test.jpg'
end;

Und er funktioniert :D


Nun möchte ich noch die Bilder anzeigen lassen.

Wie kann ich das tun?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 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