add toggle for polling only

This commit is contained in:
Erik 2015-03-04 23:15:11 -05:00
parent 1a63088a5e
commit 543a3c8f91
2 changed files with 15 additions and 6 deletions

View File

@ -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
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

View File

@ -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