![]() |
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 |
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 |
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.
|
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 |
Re: PC zu PC verbindung via Internet
Für den FTP Server: guck dir mal die Indy Demos an.
|
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? |
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 |
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 |
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 |
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. |
Re: PC zu PC verbindung via Internet
Zitat:
Wie wärs mal mit ![]() Da findest du genug fürs erste.... |
Re: PC zu PC verbindung via Internet
ok tut mir leid eigentlich hab ich das auch geschrieben damit es wider nach oben geht
|
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 |
Re: PC zu PC verbindung via Internet
![]() Der http://www.delphipraxis.net/template.../icon_edit.gif Button ist übrigens noch immer da... |
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 |
Re: PC zu PC verbindung via Internet
Zitat:
Du willst doch nicht etwa behaupten, dass du alle in Google eingetragenen Seiten kontrolliert hast?! :wall: ![]() |
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 |
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 ? |
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 |
Re: PC zu PC verbindung via Internet
Zitat:
Ich hab mir die mal vor längerer Zeit angesehen und die haben alle funktioniert. |
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 |
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 |
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): ![]() Darunter ist auch 100%ig ein HTTP Server Beispiel. Mit der Hoffnung, Dir geholfen zu haben. |
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? |
Re: PC zu PC verbindung via Internet
Zitat:
![]() |
Re: PC zu PC verbindung via Internet
da steht leider auch nichts davon drin wie ich das directory listing zulassen kann
|
Re: PC zu PC verbindung via Internet
Zitat:
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. |
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 |
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 |
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.
|
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 |
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 |
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