diff --git a/lib/socket.js b/lib/socket.js index e8781d37b..ec283d393 100644 --- a/lib/socket.js +++ b/lib/socket.js @@ -102,6 +102,12 @@ class Socket extends Emitter { }, false ); + if (this.hostname !== "localhost") { + this.offlineEventListener = () => { + this.onClose("transport close"); + }; + addEventListener("offline", this.offlineEventListener, false); + } } this.open(); @@ -622,6 +628,10 @@ class Socket extends Emitter { // ignore further transport communication this.transport.removeAllListeners(); + if (typeof removeEventListener === "function") { + removeEventListener("offline", this.offlineEventListener, false); + } + // set ready state this.readyState = "closed";