【问题标题】:flutter app can not connect to a webSocket颤振应用程序无法连接到 webSocket
【发布时间】:2020-07-05 21:54:47
【问题描述】:

我正在构建一个需要连接到服务器并使用 websocket 交换数据的颤振应用程序。服务器是 JAVA,使用 SockJs 和 Stomp 来实现这个功能。

我正在使用来自 pub.dev/packages 的 Stomp dart 客户端和 webSocket 包。 这是我尝试连接的代码部分:

  clientConnect() async {
    String cookie = await storage.read(key: "cookie");
    final stompClient = StompClient(
        config: StompConfig(url: 'ws://192.168.0.13:8080/....', onConnect: onConnect,
            webSocketConnectHeaders: {"cookie": cookie }));
    stompClient.activate();
  }

我面临的问题是,我的颤振应用程序无法连接到服务器并抛出此错误。

 WebSocketException: Connection to 'http://192.168.0.12:8080/....' was not upgraded to websocket

【问题讨论】:

  • 你找到解决办法了吗?

标签: flutter dart websocket stomp


【解决方案1】:

迟到的答案(stomp 包的维护者):

由于您似乎在 java 端使用 StompJS,因此您需要在客户端中使用特殊的 StompJS 配置。这是文档中的示例:

https://pub.dev/packages/stomp_dart_client#use-stomp-with-sockjs

StompClient client = StompClient(
    config: StompConfig.SockJS(
        url: 'https://yourserver',
        onConnect: onConnectCallback
    )
);

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 2021-09-20
    • 1970-01-01
    • 2020-08-16
    • 2020-09-16
    • 2023-02-24
    • 2020-10-17
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多