Adding a local player agent
This commit is contained in:
@@ -62,9 +62,50 @@ aanwezig en worden niet na een herstart hersteld.
|
||||
De server luistert standaard alleen op localhost. Geef alleen bewust een
|
||||
LAN-adres aan `--listen-ip`; de huidige opzet bevat geen authenticatie.
|
||||
|
||||
## Windows playback agent
|
||||
|
||||
Een lichte playback agent kan op een Windows-laptop draaien en meldt zichzelf
|
||||
via HTTP bij de centrale RKT Web Player aan. De agent opent geen inkomende
|
||||
netwerkpoort. Hij pollt de server voor opdrachten en rapporteert daarbij zijn
|
||||
actuele afspeelstatus.
|
||||
|
||||
Start vanuit de broncode:
|
||||
|
||||
```console
|
||||
racket player-agent.rkt
|
||||
```
|
||||
|
||||
Dezelfde GUI kan vanuit een ander Racket-programma worden gestart:
|
||||
|
||||
```racket
|
||||
#lang racket/base
|
||||
|
||||
(require rkt-web-player/player-agent)
|
||||
|
||||
(run-player-agent)
|
||||
```
|
||||
|
||||
De GUI bewaart de server-URL, de gekozen naam en een eenmalig gegenereerde
|
||||
256-bit applicatie-ID in `rkt-web-player-agent.ini` in de gebruikersspecifieke
|
||||
Racket-configuratiemap. Vul als server bijvoorbeeld `http://192.168.1.10:8080`
|
||||
in. De naam wordt in dezelfde agent-GUI ingesteld. Na registratie verschijnt
|
||||
de agent met die naam als uitvoer van type `AGENT`; de server volgt latere
|
||||
naamswijzigingen bij registratie en polling.
|
||||
|
||||
De eerste implementatie downloadt een geselecteerde track volledig naar een
|
||||
tijdelijk bestand voordat `racket-audio` de weergave start. Daardoor is de
|
||||
implementatie klein en zijn geen gedeelde mappen nodig, maar het starten van
|
||||
grote bestanden kan merkbaar langer duren. Het tijdelijke bestand wordt bij de
|
||||
volgende track of bij afsluiten verwijderd.
|
||||
|
||||
De applicatie-ID identificeert de agent en begrenst toegang tot zijn tijdelijke
|
||||
media-URL, maar vervangt geen transportbeveiliging of authenticatie. Gebruik de
|
||||
agent en server alleen op een vertrouwd LAN zolang de HTTP-server geen TLS en
|
||||
gebruikersauthenticatie heeft.
|
||||
|
||||
## Controleren
|
||||
|
||||
```console
|
||||
raco test --drdr private/library.rkt private/player.rkt
|
||||
raco test private/library.rkt private/player.rkt
|
||||
raco setup --check-pkg-deps rkt-web-player
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user