handle binary
This commit is contained in:
parent
574e9d5f7e
commit
3088bd88e6
@ -130,28 +130,16 @@ class SocketEngine: NSObject, SRWebSocketDelegate {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// println(data)
|
||||||
|
|
||||||
if let str = NSString(data: data, encoding: NSUTF8StringEncoding) {
|
if let str = NSString(data: data, encoding: NSUTF8StringEncoding) {
|
||||||
// println(str)
|
// println(str)
|
||||||
var mut = RegexMutable(str)
|
|
||||||
|
|
||||||
let groups = mut["(\\d):(.*)"].groups()
|
self?.parsePollingMessage(str)
|
||||||
if groups[1] == "" || groups[2] == "" {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let type = groups[1]
|
|
||||||
var mutPart = RegexMutable(groups[0])
|
|
||||||
|
|
||||||
if type != "2" {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
mutPart["^2:40"] ~= ""
|
|
||||||
|
|
||||||
self?.parsePollingMessage(mutPart)
|
|
||||||
self?.wait = false
|
|
||||||
self?.doPoll()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self?.wait = false
|
||||||
|
self?.doPoll()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,9 +229,8 @@ class SocketEngine: NSObject, SRWebSocketDelegate {
|
|||||||
func testLength(length:String, inout n:Int) -> Bool {
|
func testLength(length:String, inout n:Int) -> Bool {
|
||||||
if let num = length.toInt() {
|
if let num = length.toInt() {
|
||||||
n = num
|
n = num
|
||||||
if num != n {
|
} else {
|
||||||
return true
|
return true
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
@ -302,7 +289,16 @@ class SocketEngine: NSObject, SRWebSocketDelegate {
|
|||||||
|
|
||||||
if type != PacketType.MESSAGE.rawValue {
|
if type != PacketType.MESSAGE.rawValue {
|
||||||
// TODO Handle other packets
|
// TODO Handle other packets
|
||||||
println(message)
|
if message.hasPrefix("b4") {
|
||||||
|
// binary in base64 string
|
||||||
|
message.removeRange(Range<String.Index>(start: message.startIndex,
|
||||||
|
end: advance(message.startIndex, 2)))
|
||||||
|
}
|
||||||
|
|
||||||
|
if let data = NSData(base64EncodedString: message,
|
||||||
|
options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) {
|
||||||
|
self.client.parseSocketMessage(data)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user