模块

std.net

网络能力元数据和引导连接/监听句柄。

状态

当前可运行:

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(...) 暴露,而非通过原始套接字。