This commit is contained in:
parent
d0a57ca353
commit
2f2bd49045
@ -99,6 +99,19 @@ public final class SocketEngine: NSObject, WebSocketDelegate {
|
|||||||
deinit {
|
deinit {
|
||||||
Logger.log("Engine is being deinit", type: logType)
|
Logger.log("Engine is being deinit", type: logType)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private func checkIfMessageIsBase64Binary(var message: String) {
|
||||||
|
if message.hasPrefix("b4") {
|
||||||
|
// binary in base64 string
|
||||||
|
message.removeRange(Range<String.Index>(start: message.startIndex,
|
||||||
|
end: message.startIndex.advancedBy(2)))
|
||||||
|
|
||||||
|
if let data = NSData(base64EncodedString: message,
|
||||||
|
options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) {
|
||||||
|
client?.parseBinaryData(data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public func close(fast fast: Bool) {
|
public func close(fast fast: Bool) {
|
||||||
Logger.log("Engine is being closed. Fast: %@", type: logType, args: fast)
|
Logger.log("Engine is being closed. Fast: %@", type: logType, args: fast)
|
||||||
@ -364,19 +377,6 @@ public final class SocketEngine: NSObject, WebSocketDelegate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func checkIfMessageIsBase64Binary(var message: String) {
|
|
||||||
if message.hasPrefix("b4") {
|
|
||||||
// binary in base64 string
|
|
||||||
message.removeRange(Range<String.Index>(start: message.startIndex,
|
|
||||||
end: message.startIndex.advancedBy(2)))
|
|
||||||
|
|
||||||
if let data = NSData(base64EncodedString: message,
|
|
||||||
options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) {
|
|
||||||
client?.parseBinaryData(data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private func handleMessage(message: String) {
|
private func handleMessage(message: String) {
|
||||||
client?.parseSocketMessage(message)
|
client?.parseSocketMessage(message)
|
||||||
}
|
}
|
||||||
@ -492,11 +492,17 @@ public final class SocketEngine: NSObject, WebSocketDelegate {
|
|||||||
var reader = SocketStringReader(message: str)
|
var reader = SocketStringReader(message: str)
|
||||||
|
|
||||||
while reader.hasNext {
|
while reader.hasNext {
|
||||||
let n = reader.readUntilStringOccurence(":")
|
if let n = Int(reader.readUntilStringOccurence(":")) {
|
||||||
let str = reader.read(Int(n)!)
|
let str = reader.read(n)
|
||||||
|
|
||||||
dispatch_async(handleQueue) {
|
dispatch_async(handleQueue) {
|
||||||
self.parseEngineMessage(str, fromPolling: true)
|
self.parseEngineMessage(str, fromPolling: true)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dispatch_async(handleQueue) {
|
||||||
|
self.parseEngineMessage(str, fromPolling: true)
|
||||||
|
}
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user