AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Chat über beliebige Ports
Thema durchsuchen
Ansicht
Themen-Optionen

Chat über beliebige Ports

Ein Thema von Chris1986 · begonnen am 10. Sep 2003 · letzter Beitrag vom 10. Sep 2003
Antwort Antwort
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#1

Chat über beliebige Ports

  Alt 10. Sep 2003, 10:27
Morgen,
wir (2) sind dabei ein komplexes Chat-System zu schreiben. Die Kommunikation über Sockets steht auch schon, trotzdem stelle ich mir seit einigen Tagen eine Frage. Wie ist es möglich, dass der Benutzer des Clients den Port, den er nutzen will, frei wählt und sich über diesen zum Server verbindet?
Zur Zeit sind bei uns die Ports noch festgelegt. Beide Programme nutzen die Ports 6711, 6712 und 6713. Aber wenn jemand nur bestimmte Ports freigegeben hat, wie kann er dann den Server erreichen?
Und was muss ich tun damit sich die richtigen Sockets miteinander verbinden und es kein großes Durcheinander gibt?? Irgendwie muss es ja gehen, denn bei AIM, ICQ ect. gehts doch auch, oder? Ist es vielleicht möglich, die IE-Proxy Einstellungen zu nutzen?

Viele Fragen,
ich hoffe ihr versteht mich

Ps.: Falls es wichtig ist, wir haben Delphi 5 und die Indy9-Kompienten zur Verfügung.

Gruß
Christian
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 14. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#2

Re: Chat über beliebige Ports

  Alt 10. Sep 2003, 10:46
naja frei wählen ...
angenommen der server kann auf mehreren port's lauschen,
dann kann sich der client einen port "aussuchen"

bietet der server diese möglichkeit nicht, so kann der client auch nur einen port ansprechen

oder aber, beide vereinbaren einen port, d.h. der client gibt den port vor und der sever wartet auf diesem port
das setzt aber einen "zwischen server" vorraus und es ist ungeeignet wenn mehrere clients sich einen port aussuchen, logisch
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#3

Re: Chat über beliebige Ports

  Alt 10. Sep 2003, 10:51
Der Client wählt einen Zufallsport und verbindet mit dem Server und dessen festen Port. Nun steht eine Socketverbindung in der beide, also der Client und auch der Server Daten in beide Richtungen versenden können. Wenn das Chat-Kommunikations-Protokoll sauber und clever entwicklet wurde, dann kann man über diese eine Verbindung Daten senden und auch lesen in beide Richtungen.

Aus Sicht des Servers ist es egal welchen Port der Client benutzt, denn die Verbindung besteht auch ohne dieses Wissen.
Auf ServerSite müssen hauptsächlich nur die FireWalls so konfiguriert werden das sie den Server-Port zugreifbar lassen. Auf Clientsite müssen haupsächlich die Proxies, aber nicht die FireWalls berücksichtigt werden. Bei einem Chat ist es aber üblich das der Chat-Server nur die Verbindungen von einem Client zu anderen Clients ermöglicht. Dazu verwaltet der Server eine Tabelle aller angemeldeten Clients per IP + Port. Diese Informationen werden dann benutzt damit einer der Clients sich mit anderen Clients verbinden kann.

Gruß Hagen
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Chat über beliebige Ports

  Alt 10. Sep 2003, 10:52
hm. Aber wie funktioniert dann ICQ. Denn der Client nutzt doch die Proxy-Einstellungen vom Internet Explorer

Gruß
Christian
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Chat über beliebige Ports

  Alt 10. Sep 2003, 10:57
Zitat:
Der Client wählt einen Zufallsport und verbindet mit dem Server und dessen festen Port
Das ist ja mein Problem. Was mache ich denn, wenn der Client den Server nicht ansprechen kann, weil die ausgehende Verbundung des Clients den festen Port des Servers nicht zulässt?

Gruß
Christian
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#6

Re: Chat über beliebige Ports

  Alt 10. Sep 2003, 11:10
Zitat:
hm. Aber wie funktioniert dann ICQ. Denn der Client nutzt doch die Proxy-Einstellungen vom Internet Explorer
Richtig. Ist ein Proxy aktiv so muß der Verbindungsaufbau über den Socks-Proxy des Proxy-Servers erfolgen. Man nimmt einen Zufallsport und vernindet mit dem bekannten und feststehenden Port+IP des Proxyservers. Bei Socks4/5 wird dazu ein kleiner Datenblock gesendet indem gespeichert wird mit welchem Ziel -> IP+Port zu verbinden ist.
Dieses Vorgehen ist normalerweise nur auf Clientsite notwendig.


Zitat:
Das ist ja mein Problem. Was mache ich denn, wenn der Client den Server nicht ansprechen kann, weil die ausgehende Verbundung des Clients den festen Port des Servers nicht zulässt?
Hm, hast du eine FireWall laufen die ausgehende verbindungen blockiert ?
Das muß dann umkonfiguriert werden, normal ist das aber nicht unbedingt. Mal abgesehen von Firmennetzen die verhindern wollen das die Angestellten surfen können bzw. die nur über HTTP arbeiten dürfen.

Ich vermute aber mal das du einen Proxy meinst und eben nicht über diesen Proxy versuchst zu verbinden. In diesem Moment erscheint es so als würde dein Verbindungsaufbau blockiert.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: Chat über beliebige Ports

  Alt 10. Sep 2003, 11:14
Als flexibles Chatsystem, das möglichst ohne Probleme durch alle Poxies/Fiewalls durchkommen will, bleibt nur HTTP Port 80 übrig. Nur dieser Port ist mit der höchsten Wahrscheinlichkeit durchlässig.

Anbieten tut sich da das SOAP Protokoll per ISAPI.DLL o.ä. In einer solchen Konfiguration wäre der Chat fast immer lauffähig. Allerdings SOAP ist langsam, anfällig, noch nicht so weit verbreitet und es lassen sich nicht mehr alle Möglichkeiten ausschöpfen.

Gruß Hagen
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Chat über beliebige Ports

  Alt 10. Sep 2003, 11:16
Hi.
Eigentlich hatten wir bis jetzt keine Probleme, aber ein Freund von mir benutzt die Internetverbindungsfreigabe eines anderen PC's um ins Internet zu kommen und bei ihm funktioniert es nicht, ICQ läuft aber.

Hast du denn einen Code, der das möglich macht?

Gruß
Christian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz