# TypedSocket Hints ## SmartServe Integration (Added v3.1.0) TypedSocket now supports SmartServe as an alternative WebSocket backend via `TypedSocket.fromSmartServe()`. ### Key Differences from Smartsocket Mode 1. **Tag System**: SmartServe uses `Set` for tags, while Smartsocket uses `{id, payload}`. The wrapper stores payloads in `peer.data` with `__typedsocket_tag__` prefix. 2. **Request/Response**: Uses TypedRouter's `fireEventInterestMap` for async correlation when sending server-initiated requests. 3. **Lifecycle**: SmartServe manages WebSocket lifecycle. `typedSocket.stop()` only clears internal state. 4. **eventSubject**: Not fully supported in SmartServe mode - use SmartServe's `onConnectionOpen`/`onConnectionClose` hooks instead. ### Files Modified for SmartServe Support - `ts/typedsocket.classes.typedsocket.ts` - Main implementation - `ts/typedsocket.plugins.ts` - Type imports - `package.json` - Optional peer dependency