| // Copyright (c) 2017, 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<HttpServer> bind( |
| /// address, |
| /// int port, { |
| /// int backlog: 0, |
| /// bool v6Only: false, |
| /// bool shared: false |
| /// }). |
| /// ... |
| /// The optional argument shared specifies whether additional HttpServer objects |
| /// can bind to the same combination of address, port and v6Only. If shared is |
| /// true and more HttpServers from this isolate or other isolates are bound to |
| /// the port, then the incoming connections will be distributed among all the |
| /// bound HttpServers. Connections can be distributed over multiple isolates this |
| /// way. |
| /// @description Checks that if [shared] is true then HttpServer objects with |
| /// the same combination of address, port and v6Only can bind |
| /// @author sgrekhov@unipro.ru |
| |
| import "dart:io"; |
| import "../../../Utils/expect.dart"; |
| |
| test() async { |
| asyncStart(); |
| HttpServer? server1 = null; |
| HttpServer? server2 = null; |
| try { |
| server1 = await HttpServer.bind(InternetAddress.loopbackIPv4, 1234, |
| shared: true); |
| server2 = await HttpServer.bind(InternetAddress.loopbackIPv4, 1234, |
| shared: true); |
| } finally { |
| server1?.close(); |
| server2?.close(); |
| asyncEnd(); |
| } |
| } |
| |
| main() { |
| test(); |
| } |