Autor Beitrag
koller1
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 216

WIN XP
D7 Ent
BeitragVerfasst: Fr 13.01.06 21:00 
Hallo!

Ich habe mir die Demo von Indy geladen, wo der FTP-Server und der FTP-Client drin sind. Wenn ich beide Progs auf meinem Rechner starte gehts, wenn ich beim Client oben 127.0.0.1 eingebe. Wenn ich mich mit meinem Webserver verbinden will, gehts auch. Aber sobald mein Freund das startet, der woanders sitzt und ne andere IP hat, geht es net. Ich gebe bei Host seine IP ein (er hat dann den server gestartet), aber er sagt immer, "Socketfehler #10051 Netzwerk nicht erreichbar". Wir haben aber beide unsere Firewalls aus und die Programme laufen. Was könnte der Fehler sein? Wie gesagt, bei 127.0.0.1 und meinem Webserver geht das client-programm.

MFG
koller1

_________________
PLEASE INSERT SYSTEM DISK AND PRESS ENTER!
Und wenn du nicht gestorben bist, presst du noch heute! ;)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 13.01.06 21:32 
Moin!

Ein Router im Spiel? :wink: Wenn ja, dann braucht der mit dem Server noch ein Portforwarding im Router.

cu
Narses


Zuletzt bearbeitet von Narses am Mo 18.02.08 02:51, insgesamt 1-mal bearbeitet
koller1 Threadstarter
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 216

WIN XP
D7 Ent
BeitragVerfasst: Fr 13.01.06 22:04 
Welchen Port müsste der dann freigeben? Eigentlich die 21, oder?

_________________
PLEASE INSERT SYSTEM DISK AND PRESS ENTER!
Und wenn du nicht gestorben bist, presst du noch heute! ;)
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 13.01.06 23:49 
Ich kenn die Indy-FTP-Komponente nicht, aber laut FTP-RFC brauchst Du glaube ich Port 20 und Port 21. Weiterhin sollten noch eine begrenzte Zahl von weiteren Ports (2-10) im Bereich über 1024 für die Transfers weitergeleitet werden.

Die Verbindung von Dir aus sollte dann passiv laufen wenn Du auch hinter eine Router sitzt, sonst wird das auch nicht funktionieren.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Sa 14.01.06 14:05 
Moin!

user profile iconkoller1 hat folgendes geschrieben:
Welchen Port müsste der dann freigeben? Eigentlich die 21, oder?

Naja, nicht "freigeben", sondern weiterleiten (inverses Maskieren), also von der öffentlichen IP an die LAN-IP des Server-PCs. Heißt auch manchmal "virtual Server", kommt darauf an, wer das Router-OS so "geschaffen" hat... :wink:

Wie user profile iconUGrohne schon gesagt hat, Port 21. Der reicht aber, die anderen Verbindungen gehen vom Server aus (IMHO, also bei mir reicht´s jedenfalls), dann braucht der Router keine Forwardings. Es gibt gelegentlich noch Probleme mit dem "Passiv-Modus", wenn man Standard-Clients (z.B. IE) verwendet (das beeinflusst nämlich, wer die Verbindung aufbaut).

cu
Narses
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 14.01.06 22:13 
user profile iconNarses hat folgendes geschrieben:
Wie user profile iconUGrohne schon gesagt hat, Port 21. Der reicht aber, die anderen Verbindungen gehen vom Server aus (IMHO, also bei mir reicht´s jedenfalls), dann braucht der Router keine Forwardings. Es gibt gelegentlich noch Probleme mit dem "Passiv-Modus", wenn man Standard-Clients (z.B. IE) verwendet (das beeinflusst nämlich, wer die Verbindung aufbaut).

OK, ein kleiner Fehler ist mir unterlaufen, Port 20 wird nicht immer gebraucht.

Folgende zwei Verbindungsarten muss man unterscheiden: Aktiver und passiver Modus. Der Client kontaktiert den Server auf Port 21. Im aktiven Modus kontaktiert dann der Server den Client auf Port 20. Ergo müsste dafür der Port 20 beim Client erreichbar sein, also auf einem eventuell vorhandenen Router geforwardet werden. Im passiven Modus gibt der Server dem Client beim ersten Kontakt einen von ihm (dem Server) ausgewählten Port die Anweisung ihn dort zu kontaktieren. Ergo müssen diese Ports bei einem eventuell vorhandenen Router auf Serverseite geforwardet werden.

FTP ist einfach ein grausames Protokoll, wenn man hinter einem Router sitzt.

Zu Indy: Ich hab eben mal nachgeschaut, man kann dort die Ports einstellen, die verwendet werden: DefaultPort, DefaultDataPort (für aktiv) und PASVBoundPortMax und PASVBoundPortMin für die passive Port-Range.