Reputation: 1100
I want to establish a socket connection. i am using below code
var request = URLRequest(url: URL(string: "url")!)
request.timeoutInterval = 2.0
request.httpMethod = "POST"
request.setValue("header", forHTTPHeaderField: "Authorization")
socket = WebSocket(request: request)
socket.delegate = self
socket.connect()
And delegates are
func websocketDidConnect(socket: WebSocketClient) {
print("websocket is connected")
}
func websocketDidDisconnect(socket: WebSocketClient, error: Error?) {
if let e = error as? WSError {
print("websocket is disconnected: \(e.message)")
} else if let e = error {
print("websocket is disconnected: \(e.localizedDescription)")
} else {
print("websocket disconnected")
}
}
func websocketDidReceiveMessage(socket: WebSocketClient, text: String) {
print("Received text: \(text)")
}
func websocketDidReceiveData(socket: WebSocketClient, data: Data) {
print("Received data: \(data.count)")
}
i am getting this error
websocket is disconnected: Invalid HTTP upgrade
Upvotes: 1
Views: 4690
Reputation: 5543
Your delegates look ok. The issue happens upon negotiating connection protocol parameters with the websocket server. Instead of crafting URLRequest
try something like this:
let socket = WebSocket(url: URL(string: "wss://yourWebSocketServer")!)
Upvotes: 2