Con un handler HTTP que también gestione WebSockets podemos gestionar
los WebSockets en el mismo puerto HTTP, así no es necesario usar / abrir dos puertos.
Para eso he usado el handler creado por SevenW en: https://github.com/SevenW/httpwebsockethandler
y que extiende el SimpleHTTPServer.
Aunque ha sido ligeralmente modificado:
- He creado un wrapper para las peticiones HTTP GET, el antiguo do_GET ahora es do_GET_HTTP
- He desactivado una parte de autenticación que tenía (ni he mirado en intentar mantelerlo, aunque si mantenemos el del do_GET_HTTP, pero supongo que también debería protegerse el de las querys WS y seguramente sería muy muy sencillo reactivarle esa funcionaliad y quitarle el comentario)
En el server mantenemos el antiguo do_GET pero renombrado a do_GET_HTTP, y se han movido los métodos del WebSocketServer a este handler.
He quitado las cosas que configuran un puerto WebSocket ya que ahora es el mismo que HTTP.
Había pensado en enviarlo en otra carpetita (mediaserver-alt) o algo así, por si acaso usar lo otro tiene algún setido (como que no se usen ciertas clases por compatibilidad con pythons antiguos), pero bueno, por ahora lo dejo aquí, siempre se puede hacer rollback + crear una nueva carpeta.
Por algún motivo ahora se me queja, al darle a Play, de que la linea 106 (hora 107) channelmodule no existe. Y es cierto, tendría que pasar al siguiente (para llamar al método play_video).
Tal vez se me haya actualizado el python o algo así y ahora es más quejica, pero bueno: solo he inicializadola variable previamente y ya me vuelve a funcionar.