add toggle for polling only
This commit is contained in:
parent
1a63088a5e
commit
543a3c8f91
@ -51,6 +51,7 @@ class SocketEngine: NSObject, SRWebSocketDelegate {
|
|||||||
private let workQueue = NSOperationQueue()
|
private let workQueue = NSOperationQueue()
|
||||||
private let handleQueue = dispatch_queue_create(
|
private let handleQueue = dispatch_queue_create(
|
||||||
"handleQueue".cStringUsingEncoding(NSUTF8StringEncoding), DISPATCH_QUEUE_SERIAL)
|
"handleQueue".cStringUsingEncoding(NSUTF8StringEncoding), DISPATCH_QUEUE_SERIAL)
|
||||||
|
private var forcePolling = false
|
||||||
private var pingTimer:NSTimer?
|
private var pingTimer:NSTimer?
|
||||||
private var _polling = true
|
private var _polling = true
|
||||||
private var probing = false
|
private var probing = false
|
||||||
@ -70,8 +71,9 @@ class SocketEngine: NSObject, SRWebSocketDelegate {
|
|||||||
}
|
}
|
||||||
var ws:SRWebSocket?
|
var ws:SRWebSocket?
|
||||||
|
|
||||||
init(client:SocketIOClient) {
|
init(client:SocketIOClient, forcePolling:Bool = false) {
|
||||||
self.client = client
|
self.client = client
|
||||||
|
self.forcePolling = forcePolling
|
||||||
}
|
}
|
||||||
|
|
||||||
func close() {
|
func close() {
|
||||||
@ -220,10 +222,12 @@ class SocketEngine: NSObject, SRWebSocketDelegate {
|
|||||||
// println(json)
|
// println(json)
|
||||||
self?.sid = sid
|
self?.sid = sid
|
||||||
|
|
||||||
self?.ws = SRWebSocket(URL:
|
if !self!.forcePolling {
|
||||||
NSURL(string: urlWebSocket + "&sid=\(self!.sid)")!)
|
self?.ws = SRWebSocket(URL:
|
||||||
self?.ws?.delegate = self
|
NSURL(string: urlWebSocket + "&sid=\(self!.sid)")!)
|
||||||
self?.ws?.open()
|
self?.ws?.delegate = self
|
||||||
|
self?.ws?.open()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
NSLog("Error handshaking")
|
NSLog("Error handshaking")
|
||||||
return
|
return
|
||||||
|
|||||||
@ -36,6 +36,7 @@ class SocketIOClient {
|
|||||||
private lazy var params:[String: AnyObject] = [String: AnyObject]()
|
private lazy var params:[String: AnyObject] = [String: AnyObject]()
|
||||||
private var ackHandlers = [SocketAckHandler]()
|
private var ackHandlers = [SocketAckHandler]()
|
||||||
private var currentAck = -1
|
private var currentAck = -1
|
||||||
|
private var forcePolling = false
|
||||||
private var handlers = [SocketEventHandler]()
|
private var handlers = [SocketEventHandler]()
|
||||||
private var lastSocketMessage:SocketEvent?
|
private var lastSocketMessage:SocketEvent?
|
||||||
private var paramConnect = false
|
private var paramConnect = false
|
||||||
@ -82,9 +83,13 @@ class SocketIOClient {
|
|||||||
if let nsp = opts!["nsp"] as? String {
|
if let nsp = opts!["nsp"] as? String {
|
||||||
self.nsp = nsp
|
self.nsp = nsp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let polling = opts!["forcePolling"] as? Bool {
|
||||||
|
self.forcePolling = polling
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.engine = SocketEngine(client: self)
|
self.engine = SocketEngine(client: self, forcePolling: self.forcePolling)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Closes the socket
|
// Closes the socket
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user