wsmini
Version:
Minimalist WebSocket client and server for real-time applications with RPC, PubSub, Rooms and Game state synchronization.
74 lines (49 loc) • 2.67 kB
Markdown
and server for real-time applications with RPC, PubSub, Rooms and Game state synchronization based on WS https://github.com/websockets/ws
[](https://www.npmjs.com/package/wsmini)
[](https://opensource.org/licenses/MIT)
- 🚀 Lightweight and easy
- 📡 RPC - Remote Procedure Calls with built-in error handling
- 🎯 PubSub - Very simple Publish/Subscribe system
- 🏠 Room-based management system
- 🎮 Game-ready with fixed timestep game loop and state synchronization
For a detailed guide on how to get started with WsMini, including setting up a server, connecting clients, and using RPC and PubSub features, please refer to the [Getting Started Guide](./docs/guides/getting-started.md).
[ ](./docs/index.md) is available in the `docs` directory and includes examples for both client and server usage, as well as advanced features like Room management and Game state synchronization.
WsMini is designed for **small web games and real-time applications** with a focus on simplicity and ease of use:
- **Authentication & Security**: Supports token transmission during handshake and basic WebSocket security. User accounts, rate limiting, and additional security checks should be handled by your application
- **Scalability**: Targeted for small to medium applications, scaling features are outside the scope
```bash
npm install wsmini
```
In browsers, use the client classes:
```javascript
import { WSClient, WSClientRoom } from 'wsmini';
```
In Node.js, use the server classes:
```javascript
import { WSServerPubSub, WSServerRoomManager, WSServerRoom, WSServerGameRoom, WSServerError } from 'wsmini';
```
You will find complete examples demonstrating some of the features of WsMini in the `docs/examples` directory. Each example includes both server and client code with HTML interfaces. For more details, see the [Examples Documentation](./docs/examples/index.md).
WsMini includes a test suite with 300 tests covering all components and features.
```bash
npm install
npm test
npm run test:coverage
npm run test:watch
```
For detailed testing information, see the [Test Documentation](./test/README.md).
Minimalist WebSocket client