Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我在尝试使用Swift中的websocket连接到时总是出错_Ios_Swift_Xcode_Networking_Websocket - Fatal编程技术网

Ios 我在尝试使用Swift中的websocket连接到时总是出错

Ios 我在尝试使用Swift中的websocket连接到时总是出错,ios,swift,xcode,networking,websocket,Ios,Swift,Xcode,Networking,Websocket,我正在制作一个使用discord api的应用程序。我必须使用WebSocket连接到网关,但当我尝试连接时,它总是抛出错误。我正在使用红蜘蛛框架。有人知道如何解决这个问题吗 let socketHandler = SocketHandler(url: "wss://gateway.discord.gg/?v=6&encoding=json") class SocketHandler: WebSocketDelegate { var socket: WebSocket

我正在制作一个使用discord api的应用程序。我必须使用WebSocket连接到网关,但当我尝试连接时,它总是抛出错误。我正在使用红蜘蛛框架。有人知道如何解决这个问题吗

let socketHandler = SocketHandler(url: "wss://gateway.discord.gg/?v=6&encoding=json")

class SocketHandler: WebSocketDelegate {

    var socket: WebSocket

    func didReceive(event: WebSocketEvent, client: WebSocket) {
        print("received")
    }

    init(url: String) {
        self.socket = WebSocket(request: URLRequest(url: URL(string: url)!))
        self.socket.delegate = self
        socket.connect();
    }

}

2020-02-07 20:09:35.452134+0100 DisChat WatchKit Extension[247:10072] [BoringSSL] boringssl_context_handle_fatal_alert(1872) [C1.1:1][0x1451d7f0] write alert, level: fatal, description: certificate unknown
2020-02-07 20:09:35.452923+0100 DisChat WatchKit Extension[247:10072] [BoringSSL] boringssl_context_error_print(1862) boringssl ctx 0x145fa5a0: 361843784:error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED:/BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-283.60.3/ssl/handshake.cc:369:
2020-02-07 20:09:35.458630+0100 DisChat WatchKit Extension[247:10072] [BoringSSL] boringssl_session_handshake_error_print(111) [C1.1:1][0x1451d7f0] 361843784:error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED:/BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-283.60.3/ssl/handshake.cc:369:
2020-02-07 20:09:35.458713+0100 DisChat WatchKit Extension[247:10072] [BoringSSL] nw_protocol_boringssl_handshake_negotiate_proceed(726) [C1.1:1][0x1451d7f0] handshake failed at state 12288
wss://gateway.discord.gg/?v=6&encoding=json
2020-02-07 20:09:37.501177+0100 DisChat WatchKit Extension[247:10046] [BoringSSL] boringssl_context_handle_fatal_alert(1872) [C2.1:1][0x1453aab0] write alert, level: fatal, description: certificate unknown
2020-02-07 20:09:37.501307+0100 DisChat WatchKit Extension[247:10046] [BoringSSL] boringssl_context_error_print(1862) boringssl ctx 0x1453d6a0: 341008120:error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED:/BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-283.60.3/ssl/handshake.cc:369:
2020-02-07 20:09:37.502026+0100 DisChat WatchKit Extension[247:10046] [BoringSSL] boringssl_session_handshake_error_print(111) [C2.1:1][0x1453aab0] 341008120:error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED:/BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-283.60.3/ssl/handshake.cc:369:
2020-02-07 20:09:37.502050+0100 DisChat WatchKit Extension[247:10046] [BoringSSL] nw_protocol_boringssl_handshake_negotiate_proceed(726) [C2.1:1][0x1453aab0] handshake failed at state 12288

这个问题最近向我提出。handshake.cc第369行是OCSP故障。这似乎很奇怪,因为不需要OSCP。经过仔细的谷歌搜索,我发现这篇帖子听起来也有同样的问题:

看起来红蜘蛛4.0默认启用了OCSP。将nil作为ocspChecker传递似乎就是解决方案

WebSocket(request: urlRequest, certPinner: nil)