 
     public func disconnect() {
         if self.connected {
+            self.reachability?.stopNotifier()
             self.socket.disconnect()
         }
     }
-
+    
     public func connect() {
         if self.connected {
             return
         } else {
             self.socket.connect()
+            if let reconnect = self.options.autoReconnect where reconnect {
+                _ = try? reachability?.startNotifier()
+            }
         }
     }
 

    public var channels = PusherChannels()
    public var socket: WebSocket!
    public var URLSession: NSURLSession

    public init(key: String, socket: WebSocket, url: String, options: PusherClientOptions, URLSession: NSURLSession = NSURLSession.sharedSession()) {
        self.url = url

        if let error = error {
            print("Websocket is disconnected: \(error.localizedDescription)")
        }
        
        self.connected = false
        for (_, channel) in self.channels.channels {
            channel.subscribed = false
        }
    }

