SocketCockpit

  • wenn man mehrere boxen hat, dann kommt frueher oder spaeter der usecase, aufnahmen von einer box auf der anderen abzuspielen.

    ich weiss natuerlich, dass es dafuer bereits verschiedene ansaetze gibt: zentrales nas, gegenseites verlinken der lokalen platten als network shares mit cifs oder nfs.

    diese ansaetze waren fuer mich eher frustrierend, weil zum einen das verlinken der platten ein krampf ist und zum anderen die boxen sich ewig lang aufhaengen, wenn nas oder netzwerk shares nicht online sind.

    daher habe ich sozusagen als proof of concept mal ein socket-server plugin geschrieben, mit dem man client/server strukturen implementieren kann.das plugin besteht aus 2 servern: einem file-server, mit dem man aufnahmen von einer box zur anderen "streamen" kann und einem daten-server, der eine art remote-procedure-call (rpc) darstellt, mit dem man funktionen, die normalerweise auf der lokalen box ausgefuehrt werden, auf einer remote box uebers netzwerk ausfuehren kann.

    das plugin macht nur im zusammenspiel mit einem anderen plugin sinn, in meinem fall mit dem moviecockpit plugin.

    damit enthaelt die moviecockpit aufnahmeliste dann die aufnahmen von beiden boxen, der lokalen und der remote box.

    spielt man eine aufnahme ab, dann wird die remote aufnahme auf die lokale box "gestreamt". auf der lokalen box sieht das so aus wie das abspielen einer laufenden aufnahme, nur dass das streamen uebers netzwerk schneller geht, als das aufnehmen.

    mit einem simplen ping kann man feststellen, ob die remote box online ist oder nicht... ohne timeouts und haengs.


    GitHub - dream-alpha/SocketCockpit: Enigma2 Socket Client/Server
    Enigma2 Socket Client/Server. Contribute to dream-alpha/SocketCockpit development by creating an account on GitHub.
    github.com


    das plugin wird als dependency von moviecockpit installiert.