work on parser
This commit is contained in:
parent
66aaa52120
commit
d13d185011
@ -185,7 +185,7 @@ class SocketParser {
|
||||
}
|
||||
|
||||
// Parses messages recieved
|
||||
class func parseSocketMessage(stringMessage:String, socket:SocketIOClient) {
|
||||
class func parseSocketMessage(var stringMessage:String, socket:SocketIOClient) {
|
||||
if stringMessage == "" {
|
||||
return
|
||||
}
|
||||
@ -225,23 +225,20 @@ class SocketParser {
|
||||
**/
|
||||
var messageGroups:[String]?
|
||||
|
||||
let type = stringMessage.removeAtIndex(stringMessage.startIndex)
|
||||
|
||||
if type == "2" {
|
||||
if let groups = stringMessage["(\\d*)\\/?(\\w*)?,?(\\d*)?\\[\"(.*?)\",?(.*?)?\\]$",
|
||||
NSRegularExpressionOptions.DotMatchesLineSeparators].groups() {
|
||||
messageGroups = groups
|
||||
} else if let ackGroup = stringMessage["(\\d*)\\/?(\\w*)?,?(\\d*)?\\[(.*?)?\\]$",
|
||||
NSRegularExpressionOptions.DotMatchesLineSeparators].groups() {
|
||||
messageGroups = ackGroup
|
||||
} else {
|
||||
NSLog("Error parsing message: %s", stringMessage)
|
||||
return
|
||||
}
|
||||
|
||||
if messageGroups![1].hasPrefix("2") {
|
||||
var mesNum = messageGroups![1]
|
||||
var ackNum:String
|
||||
var namespace:String?
|
||||
|
||||
if messageGroups![3] != "" {
|
||||
if mesNum == "" {
|
||||
ackNum = ""
|
||||
} else if messageGroups![3] != "" {
|
||||
ackNum = messageGroups![3]
|
||||
} else {
|
||||
let range = Range<String.Index>(start: mesNum.startIndex,
|
||||
@ -270,7 +267,13 @@ class SocketParser {
|
||||
|
||||
return
|
||||
}
|
||||
} else if messageGroups![1].hasPrefix("3") {
|
||||
|
||||
}
|
||||
} else if type == "3" {
|
||||
if let ackGroup = stringMessage["(\\d*)\\/?(\\w*)?,?(\\d*)?\\[(.*?)?\\]$",
|
||||
NSRegularExpressionOptions.DotMatchesLineSeparators].groups() {
|
||||
messageGroups = ackGroup
|
||||
|
||||
let arr = Array(messageGroups![1])
|
||||
var ackNum:String
|
||||
let nsp = messageGroups![2]
|
||||
@ -280,16 +283,17 @@ class SocketParser {
|
||||
}
|
||||
|
||||
if nsp == "" {
|
||||
ackNum = String(arr[1...arr.count-1])
|
||||
ackNum = String(arr[0...arr.count-1])
|
||||
} else {
|
||||
ackNum = messageGroups![3]
|
||||
}
|
||||
|
||||
let ackData:AnyObject? = self.parseData(messageGroups![4])
|
||||
let ackData:AnyObject? = self.parseData("[\(messageGroups![4])]")
|
||||
socket.handleAck(ackNum.toInt()!, data: ackData)
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
/**
|
||||
End Check for message
|
||||
**/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user