Ich versuche seit Tagen, einen Fehler bei der peer-to-peer Kommunikation zwischen VDRs zu finden, komme aber irgendwie nicht weiter. Daher wollte ich mal hier fragen, ob da jemand mit draufschauen mag.
Der Fehler tritt (zumindest hier bei mir) bei folgener Vorgehensweise auf:
- Zwei VDRs mit Version 2.3.8 im selben Netzwerk, gegenseitig über SVDRP erreichbar und mit aktiviertem Peering.
- Der eine VDR sei "Remote", der andere "Local", alle Benutzerinteraktion erfolgt auf dem VDR "Local".
- Auf dem Remote-VDR befinden sich etliche Timer.
- Auf dem Local-VDR das Timers-Menü öffnen und bei einem beliebigen Timer (egal ob local oder remote) die Rote Taste drücken, um den Timer ein- bzw. auszuschalten. Dabei ist es egal, ob es ein einmaliger oder ein wiederholender Timer ist.
- Macht man das mehrmals hintereinander mit genügend zeitlichem Abstand, so dass die Kommunikation vollständig ablaufen kann, dann funktioniert alles wunderbar.
- Drückt man die rote Taste aber schnell hintereinander mehrfach, so kommt es irgendwann zu Fehlermeldungen.
Ich konnte es bisher soweit eingrenzen, daß im Fehlerfall in cSVDRPClient::Process() der Aufruf von file.Ready(false) 'false' liefert, obwohl eigentlich eine Antwort des Remote-VDR anstehen sollte. Bei meinen Untersuchungen habe ich die im beiliegenden Patch zu sehenden Änderungen gemacht, um dafür zu sorgen, dass auch dann, wenn keine Response benötigt wird, eine eventuell schon angefangene Antwort auch fertig gelesen wird. Leider hat das das eigentliche Problem aber nicht behoben.
Vielleicht fällt einem von euch ja was auf, woran das liegen könnte.
Klaus