bind 静态方法

Future<RawServerSocket> bind(
  1. dynamic address,
  2. int port,
  3. {int backlog = 0,
  4. bool v6Only = false,
  5. bool shared = false}
)

在指定地址和端口上监听。

当返回的 future 完成时,服务器套接字将绑定到给定的 addressport,并开始在其上监听。

address 可以是一个 String 或一个 InternetAddress。如果 address 是一个 Stringbind 将执行 InternetAddress.lookup 并使用列表中的第一个值。要在回环适配器上监听,这将只允许来自本地主机的传入连接,请使用值 InternetAddress.loopbackIPv4InternetAddress.loopbackIPv6。要允许从网络上接收传入连接,请使用值 InternetAddress.anyIPv4InternetAddress.anyIPv6 来绑定到所有接口或特定接口的 IP 地址。

如果使用 IP 版本 6 (IPv6) 地址,将接受 IP 版本 6 (IPv6) 和版本 4 (IPv4) 的连接。要将此限制为仅 IPv6,请使用 v6Only 将版本设置为仅 6。

如果 port 的值为 0,系统将选择一个短暂端口。实际使用的端口可以使用 port getter 获取。

可选参数 backlog 可以用来指定底层 OS 监听设置的监听队列。如果 backlog 的值为 0(默认值),系统将选择一个合理的值。

可选参数 shared 指定是否可以绑定到相同的 addressportv6Only 组合的多个 RawServerSocket 对象。如果 sharedtrue,并且从此 isolate 或其他 isolates 绑定到端口的多个 RawServerSocket,则传入的连接将在所有已绑定的 RawServerSocket 中分配。可以通过这种方式在多个 isolate 上分配连接。

实现

external static Future<RawServerSocket> bind(address, int port,
    {int backlog = 0, bool v6Only = false, bool shared = false});