Problem mit svdrpservice wenn Server Verbindung beendet

  • Hallo!


    Nach dem Upgrade meines Servers von VDR 2.0.x auf 2.2.0 traten Probleme bei der Kommunikation mit den Clients auf.


    Jetzt glaube ich verstanden zu haben, dass das Plugin svdrpservice (auf dem Client) aus dem Tritt gerät, wenn der Server die SVDRP-Verbindung wegen eines Timeouts beendet. Wenn das Plugin auf dem Client danach mittels svdrpservice ein neues Kommando absetzt, ist die Antwort schon da: "221 spiro closing connection (timeout)". Das Kommando wird überhaupt nicht zum Server geschickt. Der Server kann es also auch nicht ausführen. Stattdessen erhält das Plugin den Rückgabecode 221, erwartet aber in der Regel 250, glaubt an einen Fehler und führt eine Fehlerbehandlung aus.


    Bei mir dürfte dieses Problem die Ursache für allerlei Schwierigkeiten auf den Clients sein: Das (De)aktivieren eines Timers auf dem Server mit Ein/Aus in der Timerliste funktioniert nicht, (De)akktivieren in den Eigenschaften eines Timers auf dem Server in der Regel erst im zweiten Anlauf. Bei der Benutzung des Servermenüs (remoteosd) kommt es immer wieder zu Abbrüchen. Probleme treten also immer auf, wenn die von svdrpservice benutzte SVDRP-Verbindung "zu lange" nicht benutzt wurde.


    Mir ist klar, dass für remotetimers in VDR 2.4.0 kein Bedarf mehr besteht. Aber noch benutzen viele Distributionen VDR 2.2.0, z.B. Debian Stretch und yaVDR 0.6. Und viele Clients vermutlich das Plugin svdrpservice. Deshalb lohnt es sich m.E., das Problem zu beheben.


    Für ein bisschen Debugging und SVDRP-Protokollierung reichen meine Kenntnisse. Aber nicht, um geschmeidig die erfordlichen Änderungen in svdrpservice durchzuführen. Kann mir vielleicht jemand von euch helfen? Und natürlich zunächst einmal überprüfen, ob meine Diagnose überhaupt zutrifft :-)


    maf