接口参考lexmount:remote
host.tcp
在客户端建立 TCP 连接和监听,并通过字节流收发数据。
TCP 接口在所选客户端上建立连接或监听端口,并通过字节流读取和写入数据。
下文的 host 是已选择的 RemoteHost,获取方式见主机发现。权限与通用错误见模块概览。
TCP 操作需要 tcp.enabled。地址 TcpAddress 含只读 hostname: string 和 port: number。
host.tcp.connect(options)
功能: 从客户端建立 TCP 连接。
参数: options 必填,含可选 hostname: string(默认 127.0.0.1)和必填 port: number(1~65535 的整数)。
返回值: Promise<TcpConnection>。
host.tcp.listen(options?)
功能: 在客户端监听 TCP 连接。
参数: 可选 { hostname?: string; port?: number },默认 127.0.0.1:0;端口为 0~65535 的整数,0 表示自动分配。
返回值: Promise<TcpListener>。
TcpConnection
| 属性 | 类型 | 说明 |
|---|---|---|
localAddr、remoteAddr | Readonly<TcpAddress> | 本地、远端地址 |
readable | ReadableStream<Uint8Array> | 读取字节;取消会关闭整个连接 |
writable | WritableStream<Uint8Array> | 写入字节;close 只发送写 EOF,abort 关闭整个连接 |
closed | Promise<void> | 连接结束时完成,远端失败时拒绝 |
connection.close() 不接收参数,返回 Promise<void>,关闭整个连接,可重复调用。
TcpListener
只读 addr: Readonly<TcpAddress> 为实际监听地址,finished: Promise<void> 表示监听结束。
| 方法 | 功能 | 参数 | 返回值 |
|---|---|---|---|
listener.accept() | 等待一条连接,一次只允许一个待完成调用 | 无 | Promise<TcpConnection | null>;显式关闭后为 null,监听失败时拒绝 |
listener.close() | 停止接入,已接入连接保持独立 | 无 | Promise<void> |
listener[Symbol.asyncIterator]() | 提供 for await 连接迭代 | 无 | AsyncIterator<TcpConnection>;退出迭代会关闭监听器 |
类型声明见 remote.d.ts。
