CFNetwork SSLHandshake在沼泽连接失败(-9807)(CFNetwork SSLHandshake failed (-9807) in swamp connection)
import Swamp
class ViewController: UIViewController,SwampSessionDelegate,SwampTransportDelegate {
let swampTransport = WebSocketSwampTransport(wsEndpoint: URL(string: "wss://122.166.47.130:8086/ws")!)
override func viewDidLoad() {
super.viewDidLoad()
connect()
}
func connect(){
swampTransport.delegate = self
let swampSession = SwampSession(realm: "open-realm", transport: swampTransport)
// let swampSession = SwampSession(realm: <#T##String#>, transport: <#T##SwampTransport#>, authmethods: <#T##[String]?#>, authid: <#T##String?#>, authrole: , authextra: <#T##[String : Any]?#>)
swampSession.delegate = self
swampSession.connect()
}
func swampSessionHandleChallenge(_ authMethod: String, extra: [String: Any]) -> String{
print("swampSessionHandleChallenge")
return ""
}
func swampSessionConnected(_ session: SwampSession, sessionId: Int){
print("swampSessionConnected")
session.subscribe("wamp.topic", onSuccess: { subscription in
print("sssddf")
}, onError: { details, error in
print("errorrrr")
}, onEvent: { details, results, kwResults in
print("aaaaaa")
})
}
func swampSessionEnded(_ reason: String){
print("swampSessionEnded= \(reason)")
}
public func swampTransportDidConnectWithSerializer(_ serializer: SwampSerializer){
print("swfdgfsdg")
}
public func swampTransportDidDisconnect(_ error: NSError?, reason: String?){
print("retryw")
}
public func swampTransportReceivedData(_ data: Data){
print("uu7i7")
}
}
我得到的例外:
CFNetwork SSLHandshake失败(-9807)
我认为我添加的领域价值是正确的,但我不确定。 Print()用于测试该连接。
import Swamp class ViewController: UIViewController,SwampSessionDelegate,SwampTransportDelegate { let swampTransport = WebSocketSwampTransport(wsEndpoint: URL(string: "wss://122.166.47.130:8086/ws")!) override func viewDidLoad() { super.viewDidLoad() connect() } func connect(){ swampTransport.delegate = self let swampSession = SwampSession(realm: "open-realm", transport: swampTransport) // let swampSession = SwampSession(realm: <#T##String#>, transport: <#T##SwampTransport#>, authmethods: <#T##[String]?#>, authid: <#T##String?#>, authrole: , authextra: <#T##[String : Any]?#>) swampSession.delegate = self swampSession.connect() } func swampSessionHandleChallenge(_ authMethod: String, extra: [String: Any]) -> String{ print("swampSessionHandleChallenge") return "" } func swampSessionConnected(_ session: SwampSession, sessionId: Int){ print("swampSessionConnected") session.subscribe("wamp.topic", onSuccess: { subscription in print("sssddf") }, onError: { details, error in print("errorrrr") }, onEvent: { details, results, kwResults in print("aaaaaa") }) } func swampSessionEnded(_ reason: String){ print("swampSessionEnded= \(reason)") } public func swampTransportDidConnectWithSerializer(_ serializer: SwampSerializer){ print("swfdgfsdg") } public func swampTransportDidDisconnect(_ error: NSError?, reason: String?){ print("retryw") } public func swampTransportReceivedData(_ data: Data){ print("uu7i7") } }I'm getting the exception:
CFNetwork SSLHandshake failed (-9807)
I assume the realm value I added is correct but I am not certain. Print() is used for testing that connection.
最满意答案
我在解决它之后,使socket.disableSSLCertValidation = true并将协议设置为让socket = WebSocket(url:wsEndpoint,protocols:[“protocol_name”])
I solved it after making socket.disableSSLCertValidation = true and set the protocol as let socket = WebSocket(url: wsEndpoint, protocols: ["protocol_name"])
更多推荐
发布评论