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