diff --git a/Source/SocketEngine.swift b/Source/SocketEngine.swift index 331bcab..07e12f1 100644 --- a/Source/SocketEngine.swift +++ b/Source/SocketEngine.swift @@ -301,6 +301,10 @@ public final class SocketEngine: NSObject, SocketEnginePollable, SocketEngineWeb client?.engineDidClose(reason) } + if closed { + return postSendClose(nil, nil, nil) + } + DefaultSocketLogger.Logger.log("Engine is being closed.", type: logType) if websocket { diff --git a/Source/SocketIOClient.swift b/Source/SocketIOClient.swift index ccfa824..981f744 100644 --- a/Source/SocketIOClient.swift +++ b/Source/SocketIOClient.swift @@ -423,7 +423,9 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketParsable /// Tries to reconnect to the server. public func reconnect() { - tryReconnectWithReason("manual reconnect") + guard !reconnecting else { return } + + engine?.disconnect("manual reconnect") } /// Removes all handlers.