tree: decaeac7184fe19fa3f0f7849ce377b920037d88 [path history] [tgz]
  1. lib/
  2. .gitignore
  3. .travis.yml
  4. BUILD.gn
  5. CHANGELOG.md
  6. LICENSE
  7. pubspec.yaml
  8. README.md
multi_server_socket/README.md

An implementation of dart:io‘s ServerSocket that wraps multiple servers and forwards methods to all of them. It’s useful for listening on multiple network interfaces while still having a unified way of controlling the servers. In particular, it supports serving on both the IPv4 and IPv6 loopback addresses using MultiServerSocket.loopback.

import 'package:multi_server_socket/multi_server_socket.dart';

main() async {
  // Sockets connecting to either http://127.0.0.1:8080 and http://[::1]:8080
  // will be emitted by [server].
  var server = await MultiServerSocket.loopback(8080);

  server.listen((socket) {
    // Communicate with [socket].
  });
}