Socket / WebSocket — iOS
socket/TCPClient · socket/WebSocketService
Equivalente Android: BackgroundService (tracker)
Camada de comunicação em tempo real. O iOS divide em dois canais: socket TCP MONIAPP para enviar pacotes de posição GPS e WebSocket para receber eventos do backend.
Arquivos
socket/ ├── TCPClient.swift · cliente bruto TCP — protocolo MONIAPP └── WebSocketService.swift · WebSocket de eventos do backend
TCPClient (MONIAPP)
| Aspecto | Detalhe |
|---|---|
| Protocolo | MONIAPP — mesmo formato usado pelo BackgroundService Android |
| Transporte | NWConnection (Network.framework) ou InputStream/OutputStream |
| Conteúdo | Pacotes de posição (lat, lon, vel, ts) com cache LIFO em caso de queda |
| Reconexão | Backoff exponencial até reconectar |
WebSocketService
| Aspecto | Detalhe |
|---|---|
| Cliente | URLSessionWebSocketTask ou Starscream (CocoaPods) |
| Canais | Eventos de viagem, alertas, mensagens do gestor |
| Ping | Heartbeat periódico para manter conexão viva |
No Android todo este comportamento está concentrado em
BackgroundService (ver Rastreador). No iOS o equivalente em "service foreground" não existe — o trabalho é feito por Background Tasks + esses dois clientes de socket.