From d251b4de879fbd6828d1208083b6411389141645 Mon Sep 17 00:00:00 2001 From: Erik Little Date: Wed, 8 Nov 2017 08:17:36 -0500 Subject: [PATCH] Fix #855 --- Source/SocketIO/Engine/SocketEngine.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Source/SocketIO/Engine/SocketEngine.swift b/Source/SocketIO/Engine/SocketEngine.swift index bed0204..ead8671 100644 --- a/Source/SocketIO/Engine/SocketEngine.swift +++ b/Source/SocketIO/Engine/SocketEngine.swift @@ -536,8 +536,11 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll pongsMissed += 1 write("", withType: .ping, withData: []) - engineQueue.asyncAfter(deadline: DispatchTime.now() + .milliseconds(pingInterval)) {[weak self] in - self?.sendPing() + engineQueue.asyncAfter(deadline: DispatchTime.now() + .milliseconds(pingInterval)) {[weak self, id = self.sid] in + // Make sure not to ping old connections + guard let this = self, this.sid == id else { return } + + this.sendPing() } client?.engineDidSendPing()