a rewrite of reveal multiplex in 2024.
npm install @dlguswo333/reveal-multiplexfastify@^4.25.2js
import {setupServer} from '@dlguswo333/reveal-multiplex/server'setupServer({
host: '192.168.0.2',
port: 8080,
secret: 'q1w2e3r4',
staticDir: './public'
})
`
Import the client script and call setup functions.
One feasible code example is the following.
`js
import {setupMasterToken, setupMaster, setupClient} from '@dlguswo333/reveal-multiplex/client'setupMasterToken()
if (getIsMaster()) {
setupMaster(Reveal)
} else {
setupClient(Reveal)
}
`
Open a browser tab and connect to your server with secret parameter.
With the valid secret, the tab will the master which controls clients.
`
http://192.168.0.2:8080/?secret=q1w2e3r4
`
Access to the server on a browser tab without specifying secret parameter.
Without the secret, the tab will be a client.
`
http://192.168.0.2:8080/
`
When the master slides, change the view, clients react to the events
and do the same.
Configurations
| Config | Description | Default |
| :--: | ---- | ---- |
| secret | Secret key for master to possess. grant master token to every socket if undefined. | undefined |
| host | Network host where the server is hosted. | 0.0.0.0 (for convenience) |
| port | Network port where the server is hosted. | 80 |
| staticDir | File path to static assets (e.g. index.html). Can be absolute or relative. | ./public` |