SVDRP UDP Port kann nicht geändert werden

  • Hallo


    obwohl ich den SVDRP Port auf 65019 geändert habe, bleibt der UDP Port auf 6419. Das ist ungeschickt wenn ich mit zwei VDRs unabhängig von einander testen möchte den mit dem Broadcast "255.255.255.255:6419" verbinden sie sich.

    Code
    1. yavdr | 2020-08-02T20:07:44.543766+02:00 yavdr vdr: [213] SVDRP server handler thread started (pid=185, tid=213, prio=low)
    2. yavdr | 2020-08-02T20:07:44.544096+02:00 yavdr vdr: [213] SVDRP yavdr opening port 65019/tcp
    3. yavdr | 2020-08-02T20:07:44.544656+02:00 yavdr vdr: [213] SVDRP yavdr listening on port 65019/tcp
    4. yavdr | 2020-08-02T20:07:44.553835+02:00 yavdr vdr: [214] SVDRP client handler thread started (pid=185, tid=214, prio=low)
    5. yavdr | 2020-08-02T20:07:44.553948+02:00 yavdr vdr: [214] SVDRP yavdr opening port 6419/udp
    6. yavdr | 2020-08-02T20:07:44.554230+02:00 yavdr vdr: [214] SVDRP yavdr listening on port 6419/udp
    7. yavdr | 2020-08-02T20:07:44.554866+02:00 yavdr vdr: [214] SVDRP yavdr > 255.255.255.255:6419 send dgram 'SVDRP:discover name:yavdr port:65019 vdrversion:20401 apiversion:20401 timeout:300'


    Siehe auch SVDRP Peering mit Docker Aufnahme Server


    m.list

  • Mit "Setup/Miscellaneous/SVDRP peering" kann man das steuern:


    SVDRP peering = off Activates automatic connections between VDRs in the same

    network. If set to "any hosts" this VDR will establish

    connections with any available hosts. If set to "only

    default host" this VDR will only connect to the VDR with

    the name defined in "SVDRP default host". If no default

    host has been defined, the behavior is the same as with

    "any hosts". To switch from "off" to "only default host",

    you may need to select "any hosts" first and confirm the

    dialog by pressing "Ok" in order to be able to select a

    default host.


  • Hallo,


    danke für die schnelle Antwort.


    ich denke die Möglichkeit den Port zu verändern würde mehr Flexibilität erlauben, aber ich kenne den gegenüberstehenden Aufwand den Code zu verändern nicht.


    Also wie muss die Konfiguration aussehen?


    Konfiguration für den Produktiven Teil





    Konfiguration für den Test Teil. Das passt aber nicht weil "If no default host has been defined, the behavior is the same as with any host" und da werden dann die zwei Headless Server sich verbinden oder?



    m.list

  • Ich glaube, dass Missverständnis ist: die beiden vdr sollen zum Testen auf der selben Kiste laufen. Dann streiten die sich über den UDP-Port.

  • Hallo,


    ja alles lauft auf dem selben Rechner.


    Ich habe befürchtet es nicht ohne Code Änderung geht :-(. Gibt ein einen Grund warum man dem SVDRP TCP Port ändern kann aber das der UDP Port fest eingestellt ist?


    m.list

  • Hallo,


    und wenn Du nun bei Deinem "Headless Server Test" das so:

    "SVDRPDefaultHost = client3"

    konfigurierst, dann sollten sich doch nur die beiden Testgeräte miteinander unterhalten und den Rest außen vor lassen.

    Die Produktivgeräte sollte das dann auch nicht stören.

    So hätte ich das zumindest aus der Beschreibung abgeleitet.


    Viele Grüße

    kamel5

    VDR 2.4.4: ASUS Prime X470-PRO, Ryzen 7 2700, 32GB, 6TB HD, GT630, Fedora 32 Kernel 5.7 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

  • Als Grund für den festen UDP-Port kann ich mir folgendes vorstellen:

    Die vdr sollen sich ja in einem Peer-to-Peer-Netzwerk selbstständig finden. Deshalb wird ein UDP-Broadcast auf einem festen Port gesendet. Wenn jeder vdr auf einem anderen UDP-Port lauschen würde, müsste es für jeden Port einen Broadcast geben. Es ist in so einem P2P-Netzwerk nicht vorgesehen, dass auf einem Peer der Dienst mehrfach läuft.


    Lars.

  • Wenn denn der feste Port notwendig, dann wäre es vielleicht eine Möglichkeit, für so einen Fall den Dienst an eine andere IP-Adresse zu hängen.

    Also dem System eine 2. IP-Adresse geben und die 2. Instanz auf den Port der 2. IP lauschen lassen...

    Listen-Adress hat man ja öfter mal bei Server-Diensten...

  • Der feste UDP-Port dient nur dazu, dass sich VDRs im gleichen Netzwerk "finden" können.

    Es können natürlich mehrere VDRs (mit unterschiedlichem TCP-Port, Option --port) auf dem gleichen VDR laufen, da sie den UDP-Port nicht exclusiv öffnen.


    Wenn tatsächlich Bedarf besteht, den UDP-Port einstellbar zu machen, könnte ich mir vorstellen, die Option --port so zu erweitern, dass man den UDP-Port [optional] mit angeben kann, etwa


    --port=TCP-port[,UDP-port]


    Es finden sich dann natürlich nur VDRs mit dem gleichen UDP-Port.