Driver del escáner
El SDK se comunica con los escáneres de huellas a través de un driver WebSocket local. La clase DriverSocket gestiona la conexión, la reconexión automática y el despacho de eventos.
Arquitectura
El driver local se ejecuta como un servicio local en la máquina del usuario y expone un endpoint WebSocket en ws://127.0.0.1:2794/hk-reader. El SDK se conecta a este endpoint automáticamente cuando se crea el cliente.
Ciclo de vida de la conexión
Al construirse, DriverSocket intenta conectarse. Si la conexión se interrumpe, se reconecta con backoff exponencial. Llamar a destroy() termina la conexión de forma permanente.
Backoff exponencial
Cuando la conexión se cae, el driver se reconecta con backoff exponencial:
| Intento | Espera |
|---|---|
| 1 | 2s |
| 2 | 4s |
| 3 | 8s |
| 4 | 16s |
| 5+ | 32s (máximo 60s) |
Eventos
DriverSocket emite los siguientes eventos a través de su EventEmitter interno:
| Evento | Payload | Descripción |
|---|---|---|
connected | — | Conexión WebSocket establecida |
disconnected | — | Conexión WebSocket perdida |
sensorConnected | DeviceDescription.data | Dispositivo escáner detectado y descrito |
sensorDisconnected | deviceId?: number | Dispositivo escáner perdido |
fingerprintPreview | base64Image: string | Frame de vista previa del escáner (BMP) |
fingerprintResult | base64Image: string, score?: number, deviceId?: number | Resultado final con puntuación de calidad |