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.
I solved it after making socket.disableSSLCertValidation = true and set the protocol as let socket = WebSocket(url: wsEndpoint, protocols: ["protocol_name"])