2017-05-23 20 views
1

我试图创建的WebSocket功能的单,我只是不知道为什么它不工作如何为WebSocket(Starscream)创建单例?

这是我的单身扩展:

import Starscream 

extension WebSocketManager: WebSocketDelegate { 
func websocketDidConnect(socket: WebSocket) { 
    print("websocket is connected") 
} 

func websocketDidDisconnect(socket: WebSocket, error: NSError?) { 
    if let e = error { 
     print("websocket is disconnected: \(e.localizedDescription)") 
    } else { 
     print("websocket disconnected") 
    } 
} 

func websocketDidReceiveMessage(socket: WebSocket, text: String) { 
    print("Received text: \(text)") 
} 

func websocketDidReceiveData(socket: WebSocket, data: Data) { 
    print("Received data: \(data.count)") 
}} 

我单身:

final class WebSocketManager: NSObject { 
static let sharedInstance = WebSocketManager() 
public var socket = WebSocket(url: URL(string: "ws://t-w-a.herokuapp.com/new")!) 

private override init() { 
    super.init() 
    // testing connection of the socket 
} 

func establishConnection() { 
    socket.connect() 
} 

func closeConnection() { 
    socket.disconnect() 
}} 

当我尝试连接服务器时,什么都没有发生。 这里是我的控制器:

class ChatViewController: UIViewController { 

@IBOutlet weak var typeText: UITextField! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    WebSocketManager.sharedInstance.establishConnection() 
}} 

回答

1

我发现的问题,我只是忘了插座变量分配与委托

+0

我只是想花时间去说谢谢你找到了答案,并更新该题。 –