2

Have a Traccar server at http://188.120.235.97:8082/, trying to connect websocket using Swift library Starscream (https://github.com/daltoniam/Starscream). There is my code:

func connect(_ token: String) {

    var urlString = "\(self.serverURL)api/socket"
    urlString = urlString.replacingOccurrences(of: "http", with: "ws")

    self.socket = WebSocket(url: URL(string: urlString)!, protocols: ["chat"])

    guard let socket = self.socket else { return }

    socket.headers["Cookie"] = "JSESSIONID=\(token)"
    socket.headers["Sec-WebSocket-Key"] = "\(token)"
    socket.headers["Sec-WebSocket-Protocol"] = "chat"
    socket.headers["Sec-WebSocket-Version"] = "13"
    socket.headers["Host"] = self.serverURL
    socket.headers["Upgrade"] = "websocket"
    socket.headers["Connection"] = "Upgrade"
    socket.headers["Origin"] = self.serverURL
    socket.headers["Sec-WebSocket-Accept"] = "application/json, text/html"

    socket.delegate = self
    socket.connect()


    print("isConnected: \(socket.isConnected)")
    print("socket: \(socket)")
    print("headers: \(socket.headers)")
}

Nothing happened, status of websocket is CONNECTING, never OPEN. Using Fiddler cannot see any GET request also, when calling socket.connect... Does it work in iOS simulator?

zzheads
  • 1,368
  • 5
  • 28
  • 57

0 Answers0