@@ -235,7 +235,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
235
235
let postData = postStr. dataUsingEncoding ( NSUTF8StringEncoding,
236
236
allowLossyConversion: false ) !
237
237
238
-
238
+ // println("posting: \(postStr)")
239
239
req. setValue ( String ( postData. length) , forHTTPHeaderField: " Content-Length " )
240
240
req. HTTPBody = postData
241
241
@@ -406,7 +406,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
406
406
}
407
407
408
408
private func parseEngineMessage( var message: String ) {
409
- // println(message! )
409
+ // println("Engine got message: \(message)" )
410
410
411
411
var strMessage = RegexMutable ( message)
412
412
@@ -429,7 +429,10 @@ public class SocketEngine: NSObject, WebSocketDelegate {
429
429
if let data = NSData ( base64EncodedString: message,
430
430
options: NSDataBase64DecodingOptions . IgnoreUnknownCharacters) {
431
431
// println("sending \(data)")
432
- self . client. parseBinaryData ( data)
432
+ dispatch_async ( self . client. handleQueue) { [ weak self] in
433
+ self ? . client. parseBinaryData ( data)
434
+ return
435
+ }
433
436
}
434
437
435
438
return
@@ -448,9 +451,11 @@ public class SocketEngine: NSObject, WebSocketDelegate {
448
451
449
452
// Remove message type
450
453
message. removeAtIndex ( message. startIndex)
451
- // println("sending \(messageString)")
452
454
453
- self . client. parseSocketMessage ( message)
455
+ dispatch_async ( self . client. handleQueue) { [ weak self] in
456
+ self ? . client. parseSocketMessage ( message)
457
+ return
458
+ }
454
459
}
455
460
456
461
private func probeWebSocket( ) {
@@ -512,7 +517,9 @@ public class SocketEngine: NSObject, WebSocketDelegate {
512
517
}
513
518
}
514
519
515
- self . flushWaitingForPost ( )
520
+ if !self . waitingForPost {
521
+ self . flushWaitingForPost ( )
522
+ }
516
523
}
517
524
518
525
private func sendWebSocketMessage( str: String , withType type: PacketType , datas: [ NSData ] ? = nil ) {
0 commit comments