bind 静态方法
在指定地址和端口上监听。
当返回的 future 完成时,服务器套接字将绑定到给定的 address
和 port
,并开始在其上监听。
address
可以是一个 String 或一个 InternetAddress。如果 address
是一个 String,bind 将执行 InternetAddress.lookup 并使用列表中的第一个值。要在回环适配器上监听,这将只允许来自本地主机的传入连接,请使用值 InternetAddress.loopbackIPv4 或 InternetAddress.loopbackIPv6。要允许从网络上接收传入连接,请使用值 InternetAddress.anyIPv4 或 InternetAddress.anyIPv6 来绑定到所有接口或特定接口的 IP 地址。
如果使用 IP 版本 6 (IPv6) 地址,将接受 IP 版本 6 (IPv6) 和版本 4 (IPv4) 的连接。要将此限制为仅 IPv6,请使用 v6Only
将版本设置为仅 6。
如果 port
的值为 0
,系统将选择一个短暂端口。实际使用的端口可以使用 port
getter 获取。
可选参数 backlog
可以用来指定底层 OS 监听设置的监听队列。如果 backlog
的值为 0
(默认值),系统将选择一个合理的值。
可选参数 shared
指定是否可以绑定到相同的 address
、port
和 v6Only
组合的多个 RawServerSocket 对象。如果 shared
为 true
,并且从此 isolate 或其他 isolates 绑定到端口的多个 RawServerSocket
,则传入的连接将在所有已绑定的 RawServerSocket
中分配。可以通过这种方式在多个 isolate 上分配连接。
实现
external static Future<RawServerSocket> bind(address, int port,
{int backlog = 0, bool v6Only = false, bool shared = false});