start method

Future<void> start()

Implementation

Future<void> start() async {
  try {
    _server =
        await io.serve(handler, InternetAddress.loopbackIPv4, _port);
    _logger.info(
        'Server running on http://${_server!.address.address}:${_server!.port}');
    _running = true;
    return;
  } catch (e) {
    if (e is SocketException) {
      try {
        _server = await io.serve(handler, InternetAddress.loopbackIPv4, 0);
        _logger.info(
            'Server running on dynamic port http://${_server!.address.address}:${_server!.port}');
        _running = true;
        return;
      } catch (e2) {
        _logger.severe('Server failed to start on dynamic port: $e2');
      }
    }
    _logger.severe('Server failed to start on port $_port: $e');
  }
}