状态
当前可运行:
| API | 返回值 | 说明 |
|---|---|---|
std.net.host() | Net | 创建托管网络能力。 |
std.net.address(host, port) | Address | 构建地址值,不进行分配。 |
std.net.dnsName(address) | String | 读取地址主机名。 |
std.net.withTimeout(address, duration) | Address | 返回带超时的地址元数据。 |
std.net.connect(net, address) | Maybe<Conn> | 可用时返回引导连接句柄。 |
std.net.listen(net, address) | Maybe<Listener> | 可用时返回引导监听器句柄。 |
元数据标签:
- 副作用:net
- 分配行为:无分配
- 目标支持:地址辅助函数与目标无关;host/connect/listen 需要具备网络能力的目标
- 错误行为:连接辅助函数返回
Maybe - 所有权说明:当前句柄模型中无流所有权转移
- 示例:
conformance/native/pass/std-net-http-breadth.0
示例
pub fn main Void world World ! let net std.net.host() let addr std.net.withTimeout (std.net.address "localhost" 8080_u16) (std.time.ms 250) let conn std.net.connect net addr if && conn.has (std.mem.eql (std.net.dnsName addr) "localhost") check world.out.write "net ok\n"设计说明
std.net 暴露网络能力元数据和引导句柄。当前测试固件预期连接和监听器句柄不存在。当前公共接口中不提供套接字读写 API。出站 HTTP 通过 std.http.fetch(...) 暴露,而非通过原始套接字。