Я пытаюсь определить, когда клиент отключился от сервера. Я думал, что это правильный способ сделать это, но «кто-то отключился» никогда не выводится на консоль.
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);
});
}
}
}
Что-то не так в моем коде? Заранее спасибо!