@@ -235,7 +235,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
235235 let postData = postStr. dataUsingEncoding ( NSUTF8StringEncoding,
236236 allowLossyConversion: false ) !
237237
238-
238+ // println("posting: \(postStr)")
239239 req. setValue ( String ( postData. length) , forHTTPHeaderField: " Content-Length " )
240240 req. HTTPBody = postData
241241
@@ -406,7 +406,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
406406 }
407407
408408 private func parseEngineMessage( var message: String ) {
409- // println(message! )
409+ // println("Engine got message: \(message)" )
410410
411411 var strMessage = RegexMutable ( message)
412412
@@ -429,7 +429,10 @@ public class SocketEngine: NSObject, WebSocketDelegate {
429429 if let data = NSData ( base64EncodedString: message,
430430 options: NSDataBase64DecodingOptions . IgnoreUnknownCharacters) {
431431 // 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+ }
433436 }
434437
435438 return
@@ -448,9 +451,11 @@ public class SocketEngine: NSObject, WebSocketDelegate {
448451
449452 // Remove message type
450453 message. removeAtIndex ( message. startIndex)
451- // println("sending \(messageString)")
452454
453- self . client. parseSocketMessage ( message)
455+ dispatch_async ( self . client. handleQueue) { [ weak self] in
456+ self ? . client. parseSocketMessage ( message)
457+ return
458+ }
454459 }
455460
456461 private func probeWebSocket( ) {
@@ -512,7 +517,9 @@ public class SocketEngine: NSObject, WebSocketDelegate {
512517 }
513518 }
514519
515- self . flushWaitingForPost ( )
520+ if !self . waitingForPost {
521+ self . flushWaitingForPost ( )
522+ }
516523 }
517524
518525 private func sendWebSocketMessage( str: String , withType type: PacketType , datas: [ NSData ] ? = nil ) {
0 commit comments