getUnsafeUnusedPort static method

Future<int> getUnsafeUnusedPort()

Implementation

static Future<int> getUnsafeUnusedPort() async {
  var _maySupportIPv6 = true;
  int port=0;
  if (_maySupportIPv6) {
    try {
      final socket = await ServerSocket.bind(InternetAddress.loopbackIPv6, 0,
          v6Only: true);
      port = socket.port;
      await socket.close();
    } on SocketException {
      _maySupportIPv6 = false;
    }
  }
  if (!_maySupportIPv6) {
    final socket = await RawServerSocket.bind(InternetAddress.loopbackIPv4, 0);
    port = socket.port;
    await socket.close();
  }
  return port;
}