scalesocket-0.1.5 is not a library.
ScaleSocket
ScaleSocket is a websocket server and autoscaler. It's a simple way to build multiplayer backends.
About
ScaleSocket lets you to wrap a script or binary, and serve it over websockets.
Clients then connect to rooms at wss://example.com/exampleroom.
Connecting to a room spawns a new process of the wrapped binary.
Subsequent connections to the same room share the process.
Documentation
For full details and installation instructions, see the documentation.
Features
- Share a backend process between websocket clients
- Proxy websocket traffic to normal TCP socket or stdio
- Route server messages to specific clients
- Serve static files
- Expose CGI environment variables to backend process
- OpenMetrics compatible
Quick Start
Create the file example.sh with the follow content:
#!/bin/bash
Make it executable:
$ chmod u+x example.sh
Wrap it by starting the ScaleSocket server:
$ scalesocket ./example.sh
Then connect to the websocket endpoint, for example using curl:
$ curl --include \
--no-buffer \
--http1.1 \
--header "Connection: Upgrade" \
--header "Upgrade: websocket" \
--header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" \
--header "Sec-WebSocket-Version: 13" \
http://localhost:9000/exampleroom
�{"message": "hello world"}�{"message": "goodbye"}%
For more advanced usage and features, see usage.