v-socket-test
v1.0.0
Published
A TypeScript library providing WebSocket client implementations with reconnection and queueing capabilities
Maintainers
Readme
v-socket-test
A TypeScript library providing WebSocket client implementations with reconnection and queueing capabilities.
Installation
npm install v-socket-test
# or
yarn add v-socket-testFeatures
- StreamingSocket: Basic WebSocket wrapper with streaming support
- ReconnectingSocket: WebSocket with automatic reconnection capabilities
- QueueingStreamingSocket: WebSocket that queues requests when disconnected
- SocketWrapper: Low-level WebSocket wrapper with event handling
Usage
import {
StreamingSocket,
ReconnectingSocket,
QueueingStreamingSocket,
ConnectionStatus
} from 'v-socket-test';
// Basic streaming socket
const socket = new StreamingSocket('wss://example.com');
socket.connect();
socket.events.subscribe({
next: (event) => console.log('Received:', event),
error: (error) => console.error('Error:', error),
complete: () => console.log('Connection closed')
});
// Reconnecting socket
const reconnectingSocket = new ReconnectingSocket(
'wss://example.com',
{
reconnectionIntervalMs: 1000,
maxReconnectionCount: 5
}
);
reconnectingSocket.connect();
reconnectingSocket.events.subscribe({
next: (event) => console.log('Received:', event)
});
// Queueing streaming socket
const queueingSocket = new QueueingStreamingSocket('wss://example.com');
queueingSocket.connect();
// Send requests even when disconnected - they'll be queued
queueingSocket.queueRequest('{"type":"request","data":"example"}')
.then(response => console.log('Response:', response));
// Monitor connection status
queueingSocket.connectionStatus.subscribe(status => {
if (status === ConnectionStatus.Connected) {
console.log('Connected to server');
} else {
console.log('Disconnected from server');
}
});Dependencies
- isomorphic-ws: ^5.0.0
- ws: ^8.18.2
- xstream: ^11.14.0
- v-stream-test: ^1.0.0
License
ISC
