Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
21.05.2012, 12:41:30
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Internet / LAN Forum
| | |-+  Socket Verbindungen
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Socket Verbindungen  (Gelesen 3099 mal)
borg73
Jr. Member
**
Offline Offline

Beiträge: 78


« am: 06.03.2002, 09:31:56 »

Hallo Leute,

ich möchte wissen, ob es möglich ist mit den Indy Komponenten den Localen Port auf dem der Server antworten soll mit zu schicken. Damit man über eine Firewall kommt.

Danke Marco
Gespeichert
Simon Grossenbacher
Administrator
Sr. Member
*****
Offline Offline

Beiträge: 450


WWW
« Antworten #1 am: 06.03.2002, 13:42:33 »

Das ist nicht nötig bei TCP/IP. Der Client der z.B. hinter einer Firewall ist baut eine Connection zum Server auf, danach kann der Server einfach auf diese Connection antworten und muss sich nicht darum kümmern von wo der Client die Connection aufbaut.
Gespeichert

Simon Grossenbacher
borg73
Jr. Member
**
Offline Offline

Beiträge: 78


« Antworten #2 am: 06.03.2002, 13:47:32 »

Das stimmt nicht ganz, wenn ein Client eine Socketverbindung zu einem Server aufbaut, dann wird automatisch ein LocalPort definiert. Da dieser vom Betriebsystem mitgegeben wird komme ich durch keine Firewall. Könnte ich diesen Localport ( wie in java oder c++ ) mit geben, könnte ich 2 Port für die Komunikation offen lassen und den rest sperren.

Marco
Gespeichert
Elias Zurschmiede
Global Moderator
Sr. Member
*****
Offline Offline

Beiträge: 411



WWW
« Antworten #3 am: 06.03.2002, 13:59:57 »

Hallo

Das stimmt so, ist aber auch gut so. Wenn Du zwar auf den Server connecten kannst aber die Antwort vom Firewall gesperrt wird, musst Du Deine Firewall richtig konfigurieren. Deine angedachte Lösung würde in einem Netzwerk mit NAT nicht mehr funktionieren, da Du dann jedem Client einen Port mappen müsstes auf dem NAT Server.
In der Parxis bedeute das, dass man die Firewall so konfiguriert, dass sie alle Eingehenden Packete auf hohen Ports (]1024), die Antworpackete auf einen Request sind, erlaubt.

Beim SuSE Linux Firewall heist diese Option z.B. FW_ALLOW_INCOMING_HIGHPORTS_TCP="yes"
Gespeichert

delight software gmbh
http://www.delight.ch
borg73
Jr. Member
**
Offline Offline

Beiträge: 78


« Antworten #4 am: 06.03.2002, 15:25:56 »

Hallo,

und gerade das will ich vermeiden, da die Firewall Lösung nicht von mir verwaltet wird. Es muß doch einen weg geben der Socketverbindung diese Information mitzugeben, denn ein Socket müßte doch so functionieren.

Marco
Gespeichert
Elias Zurschmiede
Global Moderator
Sr. Member
*****
Offline Offline

Beiträge: 411



WWW
« Antworten #5 am: 06.03.2002, 16:13:18 »

Hallo

Ich denke den SourcePort zu definieren ist nicht so einfach möglich. Wenn Du sowas machen willst würde ich dem Server den gewünschten Port beim Connecten senden. Der Server kann dann eine neue Connection zum Client (auf diesen Port) öffenen.
Ein ähnliches Prinzip verwendet FTP (nicht PASV). Da baut der FTP-Server eine Connection (auf einen fix definierten Port) zum Client auf.

Da Du sowieso die Firewall Regeln anpassen musst bei Deiner Lösung könntest Du es wie bei FTP machen und den "Antwort-Port" fix definieren.

Wie gesagt wenn Du dein Programm so konzipierst, läuft es nicht auf Clients die über NAT in's Internet gehen (oder nur auf einem bestimmten Client =] Portmapping auf den entsprechenden Client).
Gespeichert

delight software gmbh
http://www.delight.ch
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS