iOS开发技能Swift 探索与思考

Swift WebSocket 使用方法

2018-08-22  本文已影响849人  steveMoriya

Swift 项目中遇到需要集成WebSocket,在查阅了相关文档后,决定使用Starscream这个第三方库

使用方法

第一步,集成pod

pod 'Starscream'

第二步,代码中引用

import Starscream

let webSocket = WebSocketSingle.shared

final class WebSocketSingle:NSObject,WebSocketDelegate {
    
//  socket连接上函数
    func websocketDidConnect(socket: WebSocketClient) {
    }
    
//  socket断开执行函数
    func websocketDidDisconnect(socket: WebSocketClient, error: Error?) {
    }
    
//  接收返回消息函数
    func websocketDidReceiveMessage(socket: WebSocketClient, text: String) {
    }
    
    func websocketDidReceiveData(socket: WebSocketClient, data: Data) {
    }
    
    //构造单例数据
    static let shared = WebSocketSingle()
    private override init() {
    }
}

// initSocket方法
func initWebSocketSingle () {
        SingletonSocket.sharedInstance.socket.delegate = webSocket
}

//声明webSocket单例
class SingletonSocket {
    //socketURL为websocket地址
    let socket:WebSocket = WebSocket(url: URL(string: socketURL)!)
    
    class var sharedInstance : SingletonSocket{
        struct Static{
            static let instance:SingletonSocket = SingletonSocket()
        }
        
        if !Static.instance.socket.isConnected{
            Static.instance.socket.connect()
        }
        return Static.instance
    }
}

第三步,初始化socket,(一般放在appdelegate中)

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
 initWebSocketSingle()
}
上一篇 下一篇

猜你喜欢

热点阅读