WebSocketChannelException:HandshakeException - 在自定义服务器上使用 Laravel Websockets 的 Flutter 应用程序经过 Cpanel 认证

ada*_*eet 5 websocket laravel flutter

我有 Laravel Web 应用程序,包括依赖 Laravel Websockets 的实时聊天https://docs.beyondco.de/laravel-websockets/

现在我正在为相同的服务制作 Flutter 应用程序,并且我面临连接到我已经在 wss 上制作的 websocket 的问题(我有这个代码)

var channel = IOWebSocketChannel.connect("wss://site.com:6001/app/123456789");

channel.sink.add(json.encode({
  "event": "pusher:subscribe",
  "data": {"channel": "channel-name"}
}));

channel.stream.listen((_data) {
  print(_data.toString());
}, onError: (error) {
  print("Socket: error => " + error.toString());
}, onDone: () {
  print("Socket: done");
});
Run Code Online (Sandbox Code Playgroud)

我遇到了这个问题:CERTIFICATE_VERIFY_FAILED,我对此进行了很多搜索,但没有任何帮助 - 我尝试的其中一件事是制作一个 SecureSocket

SecureSocket secureSocket = await SecureSocket.connect(
    'www.site.com', 6001,
    onBadCertificate : (X509Certificate cert) => true).then((SecureSocket secureSocket) {

  secureSocket.listen((List<int> event) {
    print(utf8.decode(event));
  });

}).catchError((error) {
  print(error);
});
Run Code Online (Sandbox Code Playgroud)

此代码没有返回错误,但根本没有连接。

注意:相同的代码适用于 ios 模拟器,但不适用于 Android

我还测试了我的 ssl 证书,它显示了这个结果: https: //ibb.co/chyFPtX

请问有人能帮我解决这个问题吗?

chi*_*yal 0

laravel websockets 连接支持推送器驱动程序,请尝试使用已经内置协议的推送器客户端。