如何使用Starscream连接到webSocket? [英] How to connect to webSocket using Starscream?
本文介绍了如何使用Starscream连接到webSocket?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想建立一个套接字连接.我正在使用以下代码
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()
代表是
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)")
}
我遇到此错误
websocket已断开连接:无效的HTTP升级
websocket is disconnected: Invalid HTTP upgrade
推荐答案
您的代表看起来还不错.与Websocket服务器协商连接协议参数时会发生此问题.代替精心制作 URLRequest
的方法如下:
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")!)
这篇关于如何使用Starscream连接到webSocket?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文