2.1.4.4 Real-Time via Socket.io-Client-Swift
// Services/SocketService.swift
import SocketIO
class SocketService: ObservableObject {
static let shared = SocketService()
private var manager: SocketManager?
private var socket: SocketIOClient?
private init() {
// For local dev, if your backend runs on 4000
manager = SocketManager(socketURL: URL(string: "http://localhost:4000")!,
config: [.log(false), .compress])
socket = manager?.defaultSocket
socket?.on(clientEvent: .connect) { data, ack in
print("iOS Socket connected")
}
socket?.on("tradeUpdate") { data, ack in
// handle real-time trade update
print("Received trade update: \(data)")
}
socket?.connect()
}
func sendMessage(event: String, message: [String: Any]) {
socket?.emit(event, message)
}
}
Last updated