2

Question is regarding Starscream.WSError error 1. I have been trying to connect to Websocket using SocketIOClient. But getting Starscream.WSError error 1. The code used to connect Socket is

import UIKit
import SocketIO

class SocketIOManager: NSObject, URLSessionDelegate {

    static var shared = SocketIOManager()
    let manager = SocketManager(socketURL: URL(string: "https:sample.com")!, config: [.log(true), .compress]) //https url
    var socket: SocketIOClient!

    override init() {
        super.init()
        socket = manager.defaultSocket
    }

    func connectSocket() {
        let token = "hhhhhhh" //token
        let specs: SocketIOClientConfiguration = [
            .connectParams(["access_token": token]),
            .log(true),
            .forceNew(true),
            .selfSigned(true),
            .secure(true),
            .reconnects(true),
            .forceWebsockets(true),
            .reconnectAttempts(3),
            .reconnectWait(3),
            .sessionDelegate(self),
            ]
        self.manager.config = specs
        socket.on(clientEvent: .connect) {data, ack in
            print("socket connected")
            self.socket.emitWithAck("emit", with: []).timingOut(after: 2, callback: { (data) in
                print(data)
            })
        }

        socket.on("listen") { (dataArray, ack) in
            print(dataArray)
        }

        socket.on(clientEvent: .error) {data, ack in
            print(data)
        }

        socket.on(clientEvent: .disconnect) {data, ack in
            print(data)
        }

        socket.onAny { (data) in
            // print(data)
        }

        socket.connect()

    }

    func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
        completionHandler(.useCredential, URLCredential(trust: challenge.protectionSpace.serverTrust!))
    }

    func urlSession(_ session: URLSession, didBecomeInvalidWithError error: Error?) {
        if let err = error {
            print("Error: \(err.localizedDescription)")
        } else {
            print("Error. Giving up")
        }
    }

}
Vinodh
  • 5,262
  • 4
  • 38
  • 68

0 Answers0