diff --git a/SwiftIO/SocketEngine.swift b/SwiftIO/SocketEngine.swift index b6cf850..321af2b 100644 --- a/SwiftIO/SocketEngine.swift +++ b/SwiftIO/SocketEngine.swift @@ -79,11 +79,11 @@ class SocketEngine: NSObject, SRWebSocketDelegate { func close() { self.pingTimer?.invalidate() - if self.websocket { - self.ws?.send(PacketType.MESSAGE.rawValue + PacketType.CLOSE.rawValue) - self.ws?.close() - } else { - // TODO handling polling + self.send(PacketType.CLOSE.rawValue) + self.ws?.close() + + if self.polling { + self.client.handleEvent("disconnect", data: "close", isInternalMessage: true) } } diff --git a/SwiftIO/SocketIOClient.swift b/SwiftIO/SocketIOClient.swift index 72170f3..90b494d 100644 --- a/SwiftIO/SocketIOClient.swift +++ b/SwiftIO/SocketIOClient.swift @@ -97,6 +97,7 @@ class SocketIOClient { self.closed = true self.connecting = false self.connected = false + self.reconnecting = false self.engine?.close() }