【发布时间】:2019-07-29 15:09:11
【问题描述】:
我正在使用 WebSocketChannel 作为套接字服务器:
var handler = webSocketHandler((WebSocketChannel webSocket) async {
}
我如何知道上面的 webSocket 何时断开连接?
【问题讨论】:
我正在使用 WebSocketChannel 作为套接字服务器:
var handler = webSocketHandler((WebSocketChannel webSocket) async {
}
我如何知道上面的 webSocket 何时断开连接?
【问题讨论】:
即使认为这个线程有一个正确的答案,我最终还是使用了另一个包来处理套接字连接: https://pub.dartlang.org/packages/socket_io
【讨论】:
您必须监听频道流并使用onDone 回调拦截关闭事件。
closeCode 和 closeReason 属性为您提供有关关闭的详细信息。
webSocketHandler((channel) {
channel.stream.listen((data) {
channel.sink.add('Echo: $data');
},
onDone: () {
print('socket closed: reason=[${channel.closeReason}], code:[${channel.closeCode}]');
});
});
【讨论】: