1

我使用 WebSocketChannel 作为套接字服务器:

var handler = webSocketHandler((WebSocketChannel webSocket) async {
}

我怎么知道上面的 webSocket 何时断开连接?

4

2 回答 2

1

即使认为这个线程有一个正确的答案,我最终还是使用了另一个包来处理套接字连接: https ://pub.dartlang.org/packages/socket_io

于 2019-03-07T23:11:09.790 回答
1

您必须侦听频道流并使用onDone回调拦截关闭事件。

closeCodecloseReason属性为您提供有关关闭的详细信息。

webSocketHandler((channel) {
  channel.stream.listen((data) {
    channel.sink.add('Echo: $data');
  },
  onDone: () {
    print('socket closed: reason=[${channel.closeReason}], code:[${channel.closeCode}]');
  });
});
于 2019-03-08T07:06:09.423 回答