【问题标题】:WebSocketChannelException: HandshakeException - Flutter app with Laravel Websockets on custom server Cerificated with CpanelWebSocketChannelException: HandshakeException - Flutter 应用程序与自定义服务器上的 Laravel Websockets 使用 Cpanel 验证
【发布时间】:2019-12-13 14:05:03
【问题描述】:

我的 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");
});

我遇到了这个问题: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);
});

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

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

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

谁能帮我解决这个问题?

【问题讨论】:

  • 有进步的朋友吗?我发现自己处于同样的境地。

标签: laravel flutter websocket


【解决方案1】:

laravel websockets 连接支持 pusher 驱动,尝试使用 pusher client 代替已经内置协议的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 2012-01-08
    • 2012-01-03
    • 2020-10-13
    • 1970-01-01
    相关资源
    最近更新 更多