Merge branch 'development'
* development: fix sid bug Fix socketio/socket.io-client-swift#472
This commit is contained in:
commit
e8c3e22dc6
@ -1,7 +1,7 @@
|
|||||||
Pod::Spec.new do |s|
|
Pod::Spec.new do |s|
|
||||||
s.name = "Socket.IO-Client-Swift"
|
s.name = "Socket.IO-Client-Swift"
|
||||||
s.module_name = "SocketIOClientSwift"
|
s.module_name = "SocketIOClientSwift"
|
||||||
s.version = "7.0.1"
|
s.version = "7.0.2"
|
||||||
s.summary = "Socket.IO-client for iOS and OS X"
|
s.summary = "Socket.IO-client for iOS and OS X"
|
||||||
s.description = <<-DESC
|
s.description = <<-DESC
|
||||||
Socket.IO-client for iOS and OS X.
|
Socket.IO-client for iOS and OS X.
|
||||||
@ -14,7 +14,7 @@ Pod::Spec.new do |s|
|
|||||||
s.ios.deployment_target = '8.0'
|
s.ios.deployment_target = '8.0'
|
||||||
s.osx.deployment_target = '10.10'
|
s.osx.deployment_target = '10.10'
|
||||||
s.tvos.deployment_target = '9.0'
|
s.tvos.deployment_target = '9.0'
|
||||||
s.source = { :git => "https://github.com/socketio/socket.io-client-swift.git", :tag => 'v7.0.1' }
|
s.source = { :git => "https://github.com/socketio/socket.io-client-swift.git", :tag => 'v7.0.2' }
|
||||||
s.source_files = "Source/**/*.swift"
|
s.source_files = "Source/**/*.swift"
|
||||||
s.requires_arc = true
|
s.requires_arc = true
|
||||||
# s.dependency 'Starscream', '~> 0.9' # currently this repo includes Starscream swift files
|
# s.dependency 'Starscream', '~> 0.9' # currently this repo includes Starscream swift files
|
||||||
|
|||||||
@ -359,7 +359,7 @@ public final class SocketEngine : NSObject, NSURLSessionDelegate, SocketEnginePo
|
|||||||
private func handleOpen(openData: String) {
|
private func handleOpen(openData: String) {
|
||||||
do {
|
do {
|
||||||
let json = try openData.toNSDictionary()
|
let json = try openData.toNSDictionary()
|
||||||
guard let sid = json[sid] as? String else {
|
guard let sid = json["sid"] as? String else {
|
||||||
client?.engineDidError("Open packet contained no sid")
|
client?.engineDidError("Open packet contained no sid")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,7 +67,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
|
|||||||
return nsp + "#" + (engine?.sid ?? "")
|
return nsp + "#" + (engine?.sid ?? "")
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Type safe way to create a new SocketIOClient. opts can be omitted
|
/// Type safe way to create a new SocketIOClient. config can be omitted
|
||||||
public init(socketURL: NSURL, config: SocketIOClientConfiguration = []) {
|
public init(socketURL: NSURL, config: SocketIOClientConfiguration = []) {
|
||||||
self.config = config
|
self.config = config
|
||||||
self.socketURL = socketURL
|
self.socketURL = socketURL
|
||||||
@ -150,12 +150,12 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
|
|||||||
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeoutAfter) * Int64(NSEC_PER_SEC))
|
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeoutAfter) * Int64(NSEC_PER_SEC))
|
||||||
|
|
||||||
dispatch_after(time, handleQueue) {[weak self] in
|
dispatch_after(time, handleQueue) {[weak self] in
|
||||||
if let this = self where this.status != .Connected && this.status != .Disconnected {
|
guard let this = self where this.status != .Connected && this.status != .Disconnected else { return }
|
||||||
this.status = .Disconnected
|
|
||||||
this.engine?.disconnect("Connect timeout")
|
|
||||||
|
|
||||||
handler?()
|
this.status = .Disconnected
|
||||||
}
|
this.engine?.disconnect("Connect timeout")
|
||||||
|
|
||||||
|
handler?()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,20 +163,20 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
|
|||||||
currentAck += 1
|
currentAck += 1
|
||||||
|
|
||||||
return {[weak self, ack = currentAck] timeout, callback in
|
return {[weak self, ack = currentAck] timeout, callback in
|
||||||
if let this = self {
|
guard let this = self else { return }
|
||||||
dispatch_sync(this.ackQueue) {
|
|
||||||
this.ackHandlers.addAck(ack, callback: callback)
|
dispatch_sync(this.ackQueue) {
|
||||||
}
|
this.ackHandlers.addAck(ack, callback: callback)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
this._emit(items, ack: ack)
|
this._emit(items, ack: ack)
|
||||||
|
|
||||||
if timeout != 0 {
|
if timeout != 0 {
|
||||||
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeout * NSEC_PER_SEC))
|
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeout * NSEC_PER_SEC))
|
||||||
|
|
||||||
dispatch_after(time, this.ackQueue) {
|
dispatch_after(time, this.ackQueue) {
|
||||||
this.ackHandlers.timeoutAck(ack, onQueue: this.handleQueue)
|
this.ackHandlers.timeoutAck(ack, onQueue: this.handleQueue)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -196,6 +196,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
|
|||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Disconnected: %@", type: logType, args: reason)
|
DefaultSocketLogger.Logger.log("Disconnected: %@", type: logType, args: reason)
|
||||||
|
|
||||||
|
reconnecting = false
|
||||||
status = .Disconnected
|
status = .Disconnected
|
||||||
|
|
||||||
// Make sure the engine is actually dead.
|
// Make sure the engine is actually dead.
|
||||||
@ -205,8 +206,6 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
|
|||||||
|
|
||||||
/// Disconnects the socket.
|
/// Disconnects the socket.
|
||||||
public func disconnect() {
|
public func disconnect() {
|
||||||
assert(status != .NotConnected, "Tried closing a NotConnected client")
|
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Closing socket", type: logType)
|
DefaultSocketLogger.Logger.log("Closing socket", type: logType)
|
||||||
|
|
||||||
didDisconnect("Disconnect")
|
didDisconnect("Disconnect")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user