blob: 258899598ae47e7df87b43592329f44cfabed07d [file] [log] [blame]
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// @assertion
/// Future<RawDatagramSocket> bind(
/// dynamic host,
/// int port,
/// {bool reuseAddress = true,
/// bool reusePort = false,
/// int ttl = 1}
/// )
/// Binds a socket to the given host and port.
/// ...
/// The `reuseAddress` should be set for all listeners that bind to the same
/// address. Otherwise, it will fail with a [SocketException].
///
/// @description Checks that if `reuseAddress` is `true` two sockets may share
/// the same address
/// @author sgrekhov22@gmail.com
/// @issue 49600
import "dart:io";
var localhost = InternetAddress.loopbackIPv4;
main() async {
RawDatagramSocket socket1 =
await RawDatagramSocket.bind(localhost, 0, reuseAddress: true);
await RawDatagramSocket.bind(localhost, socket1.port, reuseAddress: true,
reusePort: true);
}