WebSocketChannel 如何警告已断开连接?

Jon*_*han 4 dart dart-2

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

var handler = webSocketHandler((WebSocketChannel webSocket) async {
}
Run Code Online (Sandbox Code Playgroud)

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

att*_*ona 5

您必须监听通道流并使用回调拦截关闭事件onDone

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

webSocketHandler((channel) {
  channel.stream.listen((data) {
    channel.sink.add('Echo: $data');
  },
  onDone: () {
    print('socket closed: reason=[${channel.closeReason}], code:[${channel.closeCode}]');
  });
});
Run Code Online (Sandbox Code Playgroud)