【问题标题】:IOWebSocketChannel detect when the connection is openIOWebSocketChannel 检测连接何时打开
【发布时间】:2019-11-23 19:05:01
【问题描述】:

我是飞镖/颤振的新手。我正在尝试使用WebSocketChannel 连接到 websocket 服务器。

有没有办法检测与服务器的连接何时完成?

我想做的是在与服务器连接完成的那一刻发送一些消息。

在 javascript 实现中是这样完成的:

exampleSocket.onopen = function (event) {
  exampleSocket.send("Here's some text that the server is urgently awaiting!"); 
};

在 dart/flutter 上有替代方案吗?可以和WebSocketChannel一起使用吗

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    WebSocket 类静态方法connect 在建立连接时返回一个解析为 Web 套接字的 Future。

    如果您想在连接建立时发送消息,那么应该可以:

      import 'dart:io';
      import 'package:web_socket_channel/io.dart';
    
      WebSocket.connect("ws://a.b.c.d").then((ws) {
    
        // create the stream channel 
        var channel = IOWebSocketChannel(ws);
    
        channel.sink.add("hello");
      })
    

    必须将包web_socket_channel 添加到pubspec.yaml 依赖项中。

    【讨论】:

    • 谢谢你!正在寻找解决方案,这完美地填补了它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 2014-04-21
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    相关资源
    最近更新 更多