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)连接。要仅限制为版本6(IPv6),请使用v6Only
将版本设置为仅6。
如果port
的值为0
,系统将选择一个临时端口。实际使用的端口号可以通过port
属性获取。
可选参数backlog
可以用来指定底层OS监听设置的监听队列。如果backlog
的值为0
(默认值),系统将选择一个合理的值。
可选参数shared
指定是否可以有额外的RawServerSocket对象绑定到相同的address
、port
和v6Only
组合。如果shared
为true
,并且从这个isolate或其他isolate的更多RawServerSocket对象绑定到端口,那么传入的连接将在所有已绑定的RawServerSocket之间分配。可以通过这种方式在多个isolate之间分配连接。
实现
external static Future<RawServerSocket> bind(address, int port,
{int backlog = 0, bool v6Only = false, bool shared = false});