10.03.2022, 16:24
(09.03.2022, 15:17)Gamatotchi Yoshikawa schrieb: [...]Ich habe mir dazu noch ein paar Gedanken gemacht. So wie ich das mit den SRV-EInträgen verstehe, werden diese vom Client abgefragt und sind auf der Serverseite nicht von Bedeutung.
Ich tippe auf SRV Einträge als Lösung, dafür brauche ich aber den Servicenamen ....
_SERVICENAME._tcp.domain.tld 14400 IN SRV 10 5 8002 und so weiter ...
Kennt Jemand diesen Servicenamen für OpenSim oder hat Jemand einen anderen Ansatz?
Dazu ein Beispiel. Angenommen mein (fiktiver) Service heisst login, er befindet sich auf dem Host mini.grid42.org und er basiert auf dem TCP Protokoll, dann sieht mein SRV-Eintrag gemäss RFC 2782 normalerweise wie folgt aus:
Code:
_login._tcp.grid42.org. 3600 IN SRV 0 10 8002 mini.grid42.org.
Da wir nur einen Server haben spielen Gewichtung und Priorität keine Rolle.
Der Client der auf den Dienst mit dem Namen login zugreifen will muss vorerst nur wissen, dass das Protokoll tcp verwendet wird und dass sich der Server in der Domäne grid42.org befindet. Er muss noch nicht wissen auf welchem Host sich der Dienst befindet und er muss auch noch nicht wissen welcher Port verwendet wird.
Da aber ohne IP-Adresse und dem verwendeten Port keine Verbindung zustande kommen kann, führt ein ensprechend programmierter Client als erstes eine DNS Abfrage für den SRV Eintrag _login._tcp.grid42.org durch.
Die Auflösung erfolgt ähnlich wie die Abfrage nach einem CNAME Eintrag und es wird dem Client ein Satz von Daten mit dem Zielserver, dem Port, der Priorität und der Gewichtung zurückgeliefert. Das sieht dann, je nach Darstellung, etwa wie folgt aus:
mini.grid42.org.:8844:0:10
Somit stehen dem Client alle erforderlichen Daten zur Verfügung um eine Verbindung zum Host und dem Service mit der Portnummer aufzubauen. Wäre ein solcher Mechanismus in unserem SL/Opensimulator-Viewer implementiert, dann könnte mit diesen Daten ganz normal eine Verbindung zum Server aufgebaut werden.
Da der Viewer diese Funktionalität aber nicht unterstützt, ist es auch nicht möglich im DNS SRV Einträge für das Login und den Verbindungsaufbau zu nutzen.