类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → TCP类。
类型名必须写完整「TCP类」。声明时自动创建,一般无需再调 创建*。
硬约束
- 类型名必须写「TCP类」。
- 客户端/服务端能力以方法与事件表为准;事件在 UI 线程时勿长时间阻塞。
- TLS 等相关方法按签名使用。
快速开始
TCP类 tcp
// 连接 / 发送 / 事件:见下方命令介绍
TCP类/创建
共 1 条。
创建TCP
- 签名:
通用 创建TCP() - 说明:创建一个 TCP 会话。一般直接写「TCP类 t」即可(声明时自动创建);「创建TCP()」仅在需要显式赋值时使用。
TCP类/事件
共 9 条。
客户进入
- 签名:
无 客户进入(子程序指针 回调) - 说明:注册「有客户端接入 / 异步连接成功」回调;传 0 清除。(推荐名;旧名「用户进入」仍可用)
- 参数一│子程序指针 回调: 须指向已定义函数。形参固定为: 函数 名(整数 连接ID, 文本 IP, 整数 端口, 文本 IP端口) · 服务端:accept 成功;连接ID>0;IP/端口为对端(连接时缓存)。 · 客户端:异步 连接() 成功;连接ID=1。 · 同步 连接_同步 成功不触发。 · 不需要的参数可声明后不用;回发必须用 连接ID。
用户进入
- 签名:
无 用户进入(子程序指针 回调) - 说明:同「客户进入」(兼容旧名)。回调形参已升级为带 IP/端口。
- 参数一│子程序指针 回调: 形参同 客户进入。
数据到达
- 签名:
无 数据到达(子程序指针 回调) - 说明:注册「收到文本」回调;传 0 清除。
- 参数一│子程序指针 回调: 形参固定为: 函数 名(整数 连接ID, 文本 IP, 整数 端口, 文本 IP端口, 文本 数据) · 分包模式 0:可能粘包/半包;1/2:完整一帧。 · 二进制用「数据到达字节集」;可与文本回调同时注册。 · 对端地址连接时已缓存,回调零开销带上;也可 取客户IP(id) 再查。
数据到达字节集
- 签名:
无 数据到达字节集(子程序指针 回调) - 说明:注册「收到原始字节」回调;传 0 清除。与「数据到达」互补,可同时注册。
- 参数一│子程序指针 回调: 形参固定为: 函数 名(整数 连接ID, 文本 IP, 整数 端口, 文本 IP端口, 字节集 数据)
发送进度
- 签名:
无 发送进度(子程序指针 回调) - 说明:注册「发送文件进度」回调;传 0 清除。由「发送文件」触发。
- 参数一│子程序指针 回调: 形参固定为:函数 名(整数 连接ID, 长整数 已发送, 长整数 总计)。 · 开始时会先报一次 (0, 总计);之后每发出一块再报。 · 空文件也会报 (0, 0)。
发送完毕
- 签名:
无 发送完毕(子程序指针 回调) - 说明:注册「发送文件结束」回调;传 0 清除。成功或失败都会触发。
- 参数一│子程序指针 回调: 形参固定为:函数 名(整数 连接ID, 逻辑 成功, 文本 错误)。 · 成功:成功=真,错误为空文本。 · 失败:成功=假,错误为原因(打开失败/读失败/发送失败/已取消等)。 · 断开、关闭全部 会取消进行中的发送文件并触发失败。
客户离开
- 签名:
无 客户离开(子程序指针 回调) - 说明:注册「连接断开」回调;传 0 清除。(推荐名;旧名「用户离开」仍可用)
- 参数一│子程序指针 回调: 形参固定为: 函数 名(整数 连接ID, 文本 IP, 整数 端口, 文本 IP端口) 对端关闭、本端 断开、关闭全部、网络错误时触发;地址为断开前缓存。
用户离开
- 签名:
无 用户离开(子程序指针 回调) - 说明:同「客户离开」(兼容旧名)。回调形参已升级为带 IP/端口。
- 参数一│子程序指针 回调: 形参同 客户离开。
连接失败
- 签名:
无 连接失败(子程序指针 回调) - 说明:注册「异步连接失败」回调(仅客户端 连接 使用);传 0 清除。
- 参数一│子程序指针 回调: 形参固定为:函数 名(文本 原因)。 仅 连接()(异步)失败时触发;连接_同步 失败看返回值与 取错误()。
TCP类/属性
共 15 条。
超时
- 签名:
整数 超时 - 说明:当前超时毫秒数(无括号属性读,等价 取超时())。
错误信息
- 签名:
文本 错误信息 - 说明:最近失败原因(无括号属性读)。
模式
- 签名:
文本 模式 - 说明:「客户端」「服务端」或「空闲」。
是否已连接
- 签名:
逻辑 是否已连接 - 说明:客户端是否仍保持连接。
是否在监听
- 签名:
逻辑 是否在监听 - 说明:服务端是否正在监听。
是否连接中
- 签名:
逻辑 是否连接中 - 说明:异步连接是否进行中。
客户端数
- 签名:
整数 客户端数 - 说明:服务端当前在线连接数。
端口
- 签名:
整数 端口 - 说明:当前端口(服务端=监听端口,客户端=连接端口)。
绑定地址
- 签名:
文本 绑定地址 - 说明:服务端监听绑定 IP。
远程地址
- 签名:
文本 远程地址 - 说明:已连接远端 ip:port。
连接地址
- 签名:
文本 连接地址 - 说明:客户端连接目标主机。
TLS
- 签名:
逻辑 TLS - 说明:是否启用 TLS(无括号属性读)。
TLS协议
- 签名:
文本 TLS协议 - 说明:协商的 TLS 协议版本文本。
要求客户端证书
- 签名:
逻辑 要求客户端证书 - 说明:服务端是否要求客户端证书(无括号属性读)。
分包模式
- 签名:
整数 分包模式 - 说明:当前粘包拆包模式(0/1/2)。
TCP类/方法
共 57 条。
置超时
- 签名:
无 置超时([整数 毫秒=30000]) - 说明:设置连接/收发超时(毫秒)。
- 参数一│[整数 毫秒=30000]: >0 生效;≤0 时回退为 30000。
取超时
- 签名:
整数 取超时() - 说明:取当前超时(毫秒)。
置NoDelay
- 签名:
无 置NoDelay([逻辑 启用=真]) - 说明:设置 TCP_NODELAY(默认开,降低小包延迟)。
- 参数一│[逻辑 启用=真]: 真=低延迟;假=允许 Nagle。
置KeepAlive
- 签名:
无 置KeepAlive([逻辑 启用=真]) - 说明:设置 SO_KEEPALIVE(默认开,长连接更稳)。
- 参数一│[逻辑 启用=真]: 真=开启保活探测。
置TLS
- 签名:
无 置TLS([逻辑 启用=真]) - 说明:启用/禁用 TLS(须在 监听/连接 之前调用)。
- 参数一│[逻辑 启用=真]: 真=后续连接走 TLS 握手。
置TLS验证
- 签名:
无 置TLS验证([逻辑 验证=真]) - 说明:客户端是否验证服务端证书(默认真,走系统信任链)。
- 参数一│[逻辑 验证=真]: 假=不验证(仅测试环境)。
置TLS主机名
- 签名:
无 置TLS主机名(文本 主机名) - 说明:客户端 SNI/证书校验用的主机名;省略时自动用 连接 地址。
- 参数一│文本 主机名: 如 127.0.0.1 或 api.example.com。
置TLS证书
- 签名:
逻辑 置TLS证书(文本 证书文件, [文本 密码=""]) - 说明:服务端 TLS 证书(PFX/P12);须在 监听 前设置。
- 参数一│文本 证书文件:.pfx /.p12 路径。
- 参数二│[文本 密码=”“]: 证书密码,无密码可省略。
置TLS根证书
- 签名:
逻辑 置TLS根证书(文本 根证书文件) - 说明:追加自定义根/自签 CA(DER/CER);用于信任非系统证书。
- 参数一│文本 根证书文件:.cer /.der 路径。
置TLS客户端证书
- 签名:
逻辑 置TLS客户端证书(文本 证书文件, [文本 密码=""]) - 说明:客户端双向 TLS 证书(PFX/P12);须在 连接 前设置。
- 参数一│文本 证书文件:.pfx /.p12 路径。
- 参数二│[文本 密码=”“]: 证书密码,无密码可省略。
置TLS要求客户端证书
- 签名:
无 置TLS要求客户端证书([逻辑 要求=真], [逻辑 验证=真]) - 说明:服务端要求客户端出示证书(双向 TLS);须在 监听 前设置。
- 参数一│[逻辑 要求=真]: 真=握手时要求客户端证书。
- 参数二│[逻辑 验证=真]: 真=用 置TLS根证书 或系统信任链验证客户端证书。
是否要求客户端证书
- 签名:
逻辑 是否要求客户端证书() - 说明:服务端是否已启用「要求客户端证书」。
是否TLS
- 签名:
逻辑 是否TLS() - 说明:是否已启用 TLS 模式。
取TLS协议
- 签名:
文本 取TLS协议() - 说明:最近一次 TLS 握手协商的协议(如 TLS 1.2 / TLS 1.3)。
置分包模式
- 签名:
无 置分包模式([整数 模式=0]) - 说明:粘包拆包:0=原始流;1=4字节小端长度前缀;2=分隔符。须在收发前设置。
- 参数一│[整数 模式=0]: 0 = 原始字节流(数据到达可能粘包/半包,需自拆) 1 = 每帧前加 4 字节小端无符号长度(推荐二进制/JSON 消息) 2 = 按 置分包分隔符 切帧(适合文本行协议) 服务端与客户端须用同一模式。
取分包模式
- 签名:
整数 取分包模式() - 说明:取当前分包模式。
置分包分隔符
- 签名:
无 置分包分隔符([文本 分隔符="\n"]) - 说明:模式=2 时按此分隔符切帧(UTF-8);默认换行。
- 参数一│[文本 分隔符=”\n”]: 如 “\n” 或 “\r\n”。
置分包最大长度
- 签名:
无 置分包最大长度([整数 字节=1048576]) - 说明:单帧最大字节数,超限丢弃缓冲(防恶意超大包)。
- 参数一│[整数 字节=1048576]: 单帧最大字节数(默认 1048576=1MB)。 · ≤0 时回退为 1MB · 聊天/指令:建议 4KB~64KB · 普通业务包:256KB~1MB · 传文件:优先用 发送文件(自动分片+进度);或自行循环 发送字节集(如每块 64KB~512KB),对端用 数据到达字节集 拼文件;1MB 是单帧上限不是整文件上限 · 更大单帧会占内存;超大内容务必分片
取分包最大长度
- 签名:
整数 取分包最大长度() - 说明:取单帧最大字节数。
发送分包
- 签名:
整数 发送分包([整数 连接ID], 文本 数据) - 说明:按当前分包模式自动打包后发送(长度前缀或追加分隔符)。
- 参数一│[整数 连接ID]: 服务端必填(来自事件回调 id);客户端省略。
- 参数二│文本 数据: 帧内容(不含长度前缀/分隔符,由运行时自动加)。
启动
- 签名:
逻辑 启动(整数 端口, [文本 绑定地址="0.0.0.0"], [整数 积压队列=0]) - 说明:启动服务端监听(推荐名;同「监听」)。须先注册 客户进入/数据到达/客户离开。
- 参数一│整数 端口: 1~65535,本机监听端口。
- 参数二│[文本 绑定地址=”0.0.0.0”]: 0.0.0.0=全部网卡;本机联调常用 127.0.0.1。
- 参数三│[整数 积压队列=0]: listen backlog;0 或负数=系统默认;高并发可试 128/256。
监听
- 签名:
逻辑 监听(整数 端口, [文本 绑定地址="0.0.0.0"], [整数 积压队列=0]) - 说明:同「启动」(兼容旧名)。
- 参数一│整数 端口: 1~65535,本机监听端口。
- 参数二│[文本 绑定地址=”0.0.0.0”]: 监听 IP;0.0.0.0=全部网卡;本机联调常用 127.0.0.1。
- 参数三│[整数 积压队列=0]: listen 的 backlog(等待 accept 的连接队列长度),单位是「连接个数」不是毫秒/秒。 · 0 或负数 = 使用系统默认 SOMAXCONN(推荐一般业务保持 0) · 正整数 = 自定义队列上限,高并发可试 128/256;过大无益且占资源
停止
- 签名:
无 停止() - 说明:停止接受新连接;已有连接保留。(推荐名;旧名「停止监听」)
停止监听
- 签名:
无 停止监听() - 说明:同「停止」(兼容旧名)。
关闭全部
- 签名:
无 关闭全部() - 说明:停止监听并断开全部连接。
发送
- 签名:
整数 发送([整数 连接ID], 文本 数据) - 说明:发送文本(UTF-8)。服务端传 连接ID+数据;客户端只传 数据。
- 参数一│[整数 连接ID]: 服务端必填——来自「用户进入/数据到达」回调的 id,或 取连接ID列表() 中的项;客户端必须省略此参数。
- 参数二│文本 数据: 要发送的文本(按 UTF-8 写出)。
发送字节集
- 签名:
整数 发送字节集([整数 连接ID], 字节集 数据) - 说明:发送原始字节集。
- 参数一│[整数 连接ID]: 服务端必填(同 发送);客户端省略。
- 参数二│字节集 数据: 原始数据。
发送文件
- 签名:
逻辑 发送文件([整数 连接ID], 文本 路径, [整数 分片大小=65536]) - 说明:异步按块发送本地文件(原始字节流,不套分包封装);返回真=已启动。
- 参数一│[整数 连接ID]: 服务端必填(同 发送);客户端省略。
- 参数二│文本 路径: 本地文件路径。
- 参数三│[整数 分片大小=65536]: 每块字节数;≤0 用 65536;上限 1MB。 · 进度走「发送进度」,结束走「发送完毕」。 · 建议双方 置分包模式(0),对端用「数据到达字节集」拼文件。 · 同一会话新的 发送文件 / 断开 / 关闭全部 会取消进行中的发送。
发送文件同步
- 签名:
逻辑 发送文件同步([整数 连接ID], 文本 路径, [整数 分片大小=65536]) - 说明:同步按块发送本地文件(阻塞至发完);可与「发送字节集」同连接先发自定义头再发文件体。
- 参数一│[整数 连接ID]: 服务端必填(同 发送);客户端省略。
- 参数二│文本 路径: 本地文件路径。
- 参数三│[整数 分片大小=65536]: 每块字节数;≤0 用 65536;上限 1MB。返回真=整文件已写入套接字。进度/完毕回调与异步发送文件相同。HTTP:先发送字节集(响应头),再发送文件同步(正文),最后断开。
断开
- 签名:
无 断开([整数 连接ID]) - 说明:断开连接(优雅半关闭:先排空未发完数据再关,避免大响应 RST)。服务端传 连接ID;客户端省略参数。
- 参数一│[整数 连接ID]: 服务端必填,指定要踢掉的连接(来自事件回调或 取连接ID列表);客户端省略=断开本端唯一连接。
取客户端数
- 签名:
整数 取客户端数() - 说明:当前在线客户端数量(服务端)。
广播
- 签名:
整数 广播(文本 数据) - 说明:向全部在线客户端发送文本(UTF-8);返回成功发送的连接数。
- 参数一│文本 数据: 广播内容。
广播字节集
- 签名:
整数 广播字节集(字节集 数据) - 说明:向全部在线客户端发送原始字节集。
- 参数一│字节集 数据: 广播内容。
取连接ID列表
- 签名:
通用 取连接ID列表() - 说明:返回当前全部在线连接 ID(整数数组,服务端)。
取本地地址
- 签名:
文本 取本地地址([整数 连接ID=1]) - 说明:取本端 ip:port。服务端传连接 ID;客户端可省略。
- 参数一│[整数 连接ID=1]: 服务端指定连接;客户端默认 1。
取端口
- 签名:
整数 取端口() - 说明:取当前端口:服务端=监听端口,客户端=连接端口。
取绑定地址
- 签名:
文本 取绑定地址() - 说明:取服务端监听绑定地址(如 0.0.0.0)。
取客户端地址
- 签名:
文本 取客户端地址([整数 连接ID=1]) - 说明:取远端「IP:端口」(同 取客户地址)。服务端传连接 ID;客户端可省略。
- 参数一│[整数 连接ID=1]: 服务端指定连接;客户端默认 1。
取客户地址
- 签名:
文本 取客户地址([整数 连接ID=1]) - 说明:取远端「IP:端口」(推荐名;同 取客户端地址)。
- 参数一│[整数 连接ID=1]: 服务端指定连接;客户端默认 1。
取客户IP
- 签名:
文本 取客户IP([整数 连接ID=1]) - 说明:取远端 IP(不含端口)。连接时缓存,可随时查询。
- 参数一│[整数 连接ID=1]: 服务端指定连接;客户端默认 1。
取客户端口
- 签名:
整数 取客户端口([整数 连接ID=1]) - 说明:取远端端口。连接时缓存,可随时查询。
- 参数一│[整数 连接ID=1]: 服务端指定连接;客户端默认 1。
是否在监听
- 签名:
逻辑 是否在监听() - 说明:是否正在监听端口。
连接
- 签名:
逻辑 连接(文本 地址, [整数 端口=0]) - 说明:异步连接;立即返回。端口省略或 0 时从「地址:端口」解析。
- 参数一│文本 地址: IP、域名,或「IP:端口」「[IPv6]:端口」。
- 参数二│[整数 端口=0]: 1~65535;0 或省略=从地址字符串里解析端口。
连接_同步
- 签名:
逻辑 连接_同步(文本 地址, [整数 端口=0]) - 说明:阻塞连接至成功或超时;端口规则同 连接。
- 参数一│文本 地址: IP、域名,或「IP:端口」。
- 参数二│[整数 端口=0]: 0=从地址解析。
取连接地址
- 签名:
文本 取连接地址() - 说明:取客户端最近一次连接目标主机(不含端口)。
取连接端口
- 签名:
整数 取连接端口() - 说明:取客户端最近一次连接目标端口。
是否连接中
- 签名:
逻辑 是否连接中() - 说明:异步 连接 是否仍在进行。
接收
- 签名:
文本 接收([整数 最大长度=4096]) - 说明:同步接收文本(配合 连接_同步 使用)。
- 参数一│[整数 最大长度=4096]: 本次最多读多少字节(默认 4096)。 · ≤0 按 4096 · 硬上限 1MB(1048576);再大也会被截到 1MB · 聊天/短应答:4KB~64KB 足够 · 较大业务包:建议 ≤256KB,并配合超时 · 注意:这是「单次 read」上限,不等于完整消息;粘包请用分包模式+数据到达
接收字节集
- 签名:
字节集 接收字节集([整数 最大长度=4096]) - 说明:同步接收字节集。
- 参数一│[整数 最大长度=4096]: 同 接收——默认 4096,硬上限 1MB。
是否已连接
- 签名:
逻辑 是否已连接() - 说明:客户端是否仍保持连接。
取远程地址
- 签名:
文本 取远程地址() - 说明:客户端模式下取远端「IP:端口」。
取远程IP
- 签名:
文本 取远程IP() - 说明:客户端模式下取远端 IP。
取远程端口
- 签名:
整数 取远程端口() - 说明:客户端模式下取远端端口。
取模式
- 签名:
文本 取模式() - 说明:返回「客户端」「服务端」或「空闲」;也可用属性 t.模式。
取错误
- 签名:
文本 取错误() - 说明:取最后一次失败原因;也可用属性 t.错误信息。
错误信息
- 签名:
文本 错误信息() - 说明:同 取错误();支持无括号属性读。
重置
- 签名:
无 重置() - 说明:断开全部并恢复默认(超时/NoDelay/KeepAlive);不清回调。
易错对照
| 错误 | 正确 |
|---|---|
| 类型写成 TCP | 必须「TCP类」 |
| 事件里做重活 | 短逻辑;重活丢线程 |
相关
UDP类 · WebSocket类 · 管道类