* WIP node.js websocket app * Load testing * Multi-stream publish with blocking reads * Use JWT for auth and channel ID * Update ws jwt cookie name * Typescript * Frontend WebSocket transport support * ws server ping/pong and GC logic * ws server unit tests * GC interval config, debug logging * Cleanup JWT cookie logic * Refactor asyncEvents.ts to support non-Redux use cases * Update tests for refactored asyncEvents * Add eslint, write READMEs, reorg files * CI workflow * Moar Apache license headers * pylint found something * adjust GH actions workflow * Improve documentation & comments * Prettier * Add configurable logging via Winston * Add SSL support for Redis connections * Fix incompatible logger statements * Apply suggestions from code review Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com> * rename streamPrefix config Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com> |
||
---|---|---|
.. | ||
bin | ||
public | ||
routes | ||
views | ||
.nvmrc | ||
README.md | ||
app.js | ||
package-lock.json | ||
package.json |
README.md
Test client application
This Express web application is provided for testing the WebSocket server. It is not required for running the server application, and is provided here for testing and development purposes only.
Running
First, start the WebSocket server:
cd ..
npm run dev-server
Then run the client application:
cd client-ws-app
npm install
npm start
Open http://127.0.0.1:3000 in your web browser.
You can customize the number of WebSocket connections by passing the count in the sockets
query param, e.g. http://127.0.0.1:3000?sockets=180
, though beware that browsers limit the number of open WebSocket connections to around 200.
Run in conjunction with the loadtest.js
script to populate the Redis streams with event data.
Note: this test application is configured to use the server's local config.json
values, so care should be taken to not overwrite any sensitive data.