Synapse an Domain binden - wie?

Alle Fragen zur Netzwerkkommunikation

Synapse an Domain binden - wie?

Beitragvon hydemarie » 21. Aug 2016, 18:18 Synapse an Domain binden - wie?

Ist jetzt wahrscheinlich eine total doofe Frage, aber ich spiele gerade ein wenig mit Synapse herum und sehe mich mit folgendem Problem konfrontiert:

An den localhost sind drei Domains gebunden, nennen wir sie der Einfachheit halber mal "domain1.de", "domain2.de" und "domain3.de". Hoffentlich logischerweise :wink: handelt es sich hierbei nicht um Aliasdomains, mein Programm sollte also nicht unbedingt hinter allen drei Domains das Gleiche tun.

Nun bringt Lauschen auf 0.0.0.0 ja eher nicht so viel.

Code: Alles auswählen
ListenerSocket := TTCPBlockSocket.Create;
// (...)
ListenerSocket.CreateSocket;
ListenerSocket.bind('0.0.0.0','12345');
ListenerSocket.listen;


Wie bringe ich Synapse bei, sich mit verschiedenen Sockets an verschiedene Domains zu hängen?
Aber Delphi ist auch ganz OK.
hydemarie
 
Beiträge: 20
Registriert: 16. Feb 2016, 02:21
OS, Lazarus, FPC: Windows 10 (L 1.6.x FPC 3.0.0) | 
CPU-Target: 64 Bit
Nach oben

Beitragvon Socke » 21. Aug 2016, 18:51 Re: Synapse an Domain binden - wie?

hydemarie hat geschrieben:An den localhost sind drei Domains gebunden, nennen wir sie der Einfachheit halber mal "domain1.de", "domain2.de" und "domain3.de". Hoffentlich logischerweise :wink: handelt es sich hierbei nicht um Aliasdomains, mein Programm sollte also nicht unbedingt hinter allen drei Domains das Gleiche tun.

Nun bringt Lauschen auf 0.0.0.0 ja eher nicht so viel

Du kannst ein Socket nur an eine IP-Adresse binden, nicht an eine Domain.

Daraus folgt:
  1. Verweisen alle Domains auf die selbe IP-Adresse, bindest du dich an 0.0.0.0 und wertest den Host-Header aus (sofern du HTTP verwendest.).
  2. Wenn für jede Domain eine IP-Adresse auf deinem Server konfiguriert ist, bindest du das Socket an die jeweilige IP-Adresse. Die IP-Adressen müssen natürlich auch korrekt zu deinem Server geroutet werden (ist bei einem öffentlich gehosteten Server in der Regel der Fall).
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2546
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon hydemarie » 21. Aug 2016, 19:07 Re: Synapse an Domain binden - wie?

Socke hat geschrieben:
  1. Verweisen alle Domains auf die selbe IP-Adresse, bindest du dich an 0.0.0.0 und wertest den Host-Header aus (sofern du HTTP verwendest.).


Das könnte das Problem sein.

Der Server hat exakt eine IP und HTTP wird nicht genutzt. :?
Aber Delphi ist auch ganz OK.
hydemarie
 
Beiträge: 20
Registriert: 16. Feb 2016, 02:21
OS, Lazarus, FPC: Windows 10 (L 1.6.x FPC 3.0.0) | 
CPU-Target: 64 Bit
Nach oben

Beitragvon Socke » 21. Aug 2016, 20:12 Re: Synapse an Domain binden - wie?

hydemarie hat geschrieben:Der Server hat exakt eine IP und HTTP wird nicht genutzt. :?

Welches Protokoll nutzt du denn? Sofern das Protokoll den gewünschten Hostnamen nicht mitgeben kann, müsstest du es dort einbauen :D
Wenn du Einfluss auf die Clients hast, kannst du die Server auch auf unterschiedlichen Ports lauschen lassen. Dann sind die Domainnamen technisch nicht mehr erforderlich. Sie können dennoch in Zukunft bei einem Hostwechsel der Server weniger Änderungen bei den Clients bedeuten.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2546
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon hydemarie » 21. Aug 2016, 20:23 Re: Synapse an Domain binden - wie?

Socke hat geschrieben:Welches Protokoll nutzt du denn?


Ich implementiere gerade RFC 1436. Das scheint davon auszugehen, dass Domains 1:1 auf IPs gemappt sind, weswegen ich hoffte, da irgendwie eine bequeme Lösung am Protokoll vorbei zu finden. Als hätte ich eine Ahnung, wie Sockets funktionieren. :lol:

Socke hat geschrieben:Wenn du Einfluss auf die Clients hast


Theoretisch ja, praktisch bevorzugen die vorhandenen (und verbreiteten) Clients aber den Standardport.
Aber Delphi ist auch ganz OK.
hydemarie
 
Beiträge: 20
Registriert: 16. Feb 2016, 02:21
OS, Lazarus, FPC: Windows 10 (L 1.6.x FPC 3.0.0) | 
CPU-Target: 64 Bit
Nach oben

• Themenende •

Zurück zu Netzwerk



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried