dart io websocket не вызывается при отключении клиента - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь определить, когда клиент отключился от сервера. Я думал, что это правильный способ сделать это, но «кто-то отключился» никогда не выводится на консоль.

import 'dart:io';

class VersusServer {
  Future<void> run() async {
    final PORT = 7171;

    var server = await HttpServer.bind(InternetAddress.loopbackIPv4, PORT);
    server.forEach(_handleRequest);
    print('Server listening on port $PORT.');
  }

  void _handleRequest(HttpRequest request) async {
    if (request.uri.path == '/ws') {
      var socket = await WebSocketTransformer.upgrade(request);
      print('someone connected');

      // MARK: this is the part I am trying to listen to disconnect
      socket.done.then((value) => print('someone disconnected'));
      socket.listen((message) {
        print(message);
      });
    }
  }
}

Что-то не так в моем коде? Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...