listen method

Future<void> listen()

Implementation

Future<void> listen() async {
  res.closed = true;
  WebSocket socket = await req.socket;

  _onOpen?.call(socket);

  try {
    socket.listen((data) {
      try {
        _onMessage?.call(socket, data);
      } catch (e) {
        _onError?.call(socket, e);
      }
    }, onError: (error) {
      _onError?.call(socket, error);
    }, onDone: () {
      _onClose?.call(socket);
    });
  } catch (e) {
    print('Error $e');
    _onError?.call(socket, e);
    await socket.close();
  }
}