как WebSocketChannel предупреждает, что он отключен? - PullRequest
0 голосов
/ 07 марта 2019

Я использую WebSocketChannel в качестве сервера сокетов:

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

Как я могу узнать, когда вышеуказанный webSocket отключается?

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Вы должны прослушивать поток канала и перехватывать событие закрытия с помощью обратного вызова onDone.

Свойства

closeCode и closeReason предоставляют подробную информацию о закрытии.

webSocketHandler((channel) {
  channel.stream.listen((data) {
    channel.sink.add('Echo: $data');
  },
  onDone: () {
    print('socket closed: reason=[${channel.closeReason}], code:[${channel.closeCode}]');
  });
});
0 голосов
/ 08 марта 2019

Даже при том, что есть правильный ответ на эту тему, я использовал другой пакет для обработки соединений с сокетами: https://pub.dartlang.org/packages/socket_io

...