Swift WebSocket 使用方法

作者: steveMoriya | 来源:发表于2018-08-22 14:19 被阅读849次

    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()
    }
    

    相关文章

      网友评论

        本文标题:Swift WebSocket 使用方法

        本文链接:https://www.haomeiwen.com/subject/yqxyiftx.html