From 829992fcef62ab4e5246cc624a11ec7c53d47d5d Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 4 Mar 2015 23:39:11 -0500 Subject: [PATCH] send disconnect on polling close --- SwiftIO/SocketEngine.swift | 10 +++++----- SwiftIO/SocketIOClient.swift | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) 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() }