From 44682659b61b590d5230881a7b6aeebace923768 Mon Sep 17 00:00:00 2001 From: Erik Little Date: Thu, 28 Mar 2019 07:11:35 -0400 Subject: [PATCH] fix #1178 --- Source/SocketIO/Engine/SocketEngineWebsocket.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Source/SocketIO/Engine/SocketEngineWebsocket.swift b/Source/SocketIO/Engine/SocketEngineWebsocket.swift index 0b85ce1..ea1c53f 100644 --- a/Source/SocketIO/Engine/SocketEngineWebsocket.swift +++ b/Source/SocketIO/Engine/SocketEngineWebsocket.swift @@ -62,15 +62,19 @@ extension SocketEngineWebsocket { /// - parameter completion: Callback called on transport write completion. public func sendWebSocketMessage(_ str: String, withType type: SocketEnginePacketType, - withData datas: [Data], + withData data: [Data], completion: (() -> ())? ) { DefaultSocketLogger.Logger.log("Sending ws: \(str) as type: \(type.rawValue)", type: "SocketEngineWebSocket") ws?.write(string: "\(type.rawValue)\(str)") - for data in datas { - if case let .left(bin) = createBinaryDataForSend(using: data) { + if data.count == 0 { + completion?() + } + + for item in data { + if case let .left(bin) = createBinaryDataForSend(using: item) { ws?.write(data: bin, completion: completion) } }