From ecf9336132fcec9bc9b4eb0340fc7914d0d63406 Mon Sep 17 00:00:00 2001 From: Erik Little Date: Sun, 17 Sep 2017 11:11:56 -0400 Subject: [PATCH] keep trying --- .../Engine/SocketEngineWebsocket.swift | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/Source/SocketIO/Engine/SocketEngineWebsocket.swift b/Source/SocketIO/Engine/SocketEngineWebsocket.swift index d02e588..3b0f26d 100644 --- a/Source/SocketIO/Engine/SocketEngineWebsocket.swift +++ b/Source/SocketIO/Engine/SocketEngineWebsocket.swift @@ -100,19 +100,32 @@ extension SocketEngineWebsocket { ws?.connect() #else + func onConnect(ws: Websocket) { + self.ws = ws + + attachWebSocketHandlers() + handleWSConnect() + } + let url = urlWebSocketWithSid do { let socket = try TCPInternetSocket(scheme: url.scheme ?? "http", hostname: url.host ?? "localhost", port: Port(url.port ?? 80)) - let stream: ClientStream = secure ? try TLS.InternetSocket(socket, TLS.Context(.client)) : socket - try WebSocket.background(to: urlWebSocketWithSid.absoluteString, using: stream) {[weak self] ws in - guard let this = self else { return } - this.ws = ws + if secure { + let stream = try TLS.InternetSocket(socket, TLS.Context(.client)) + try WebSocket.background(to: urlWebSocketWithSid.absoluteString, using: stream) {[weak self] ws in + guard let this = self else { return } - this.attachWebSocketHandlers() - this.handleWSConnect() + onConnect(ws: ws) + } + } else { + try WebSocket.background(to: urlWebSocketWithSid.absoluteString, using: socket) {[weak self] ws in + guard let this = self else { return } + + onConnect(ws: ws) + } } } catch { DefaultSocketLogger.Logger.error("Error connecting socket", type: "SocketEngineWebsocket")