YStudio Y++

UDP类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → UDP类。

类型名必须写完整「UDP类」。声明时自动创建,一般无需再调 创建*。

硬约束

  1. 类型名必须写「UDP类」。
  2. 无连接数据报;注意绑定端口与事件回调。
  3. 方法/事件调用必须带括号。

快速开始

UDP类 u
// 绑定 / 发送 / 事件:见签名表

UDP类/创建

共 1 条。

创建UDP

  • 签名:通用 创建UDP()
  • 说明:创建一个 UDP 会话。一般直接写「UDP类 u」即可(声明时自动创建);「创建UDP()」仅在需要显式赋值时使用。

UDP类/事件

共 2 条。

数据到达

  • 签名:无 数据到达(子程序指针 回调)
  • 说明:注册「收到文本数据报」回调;传 0 清除。
  • 参数一│子程序指针 回调: 形参固定为: 函数 名(整数 连接ID, 文本 IP, 整数 端口, 文本 IP端口, 文本 数据) · 连接ID 固定为 1(单套接字)。 · IP/端口/IP端口 为数据报来源。

数据到达字节集

  • 签名:无 数据到达字节集(子程序指针 回调)
  • 说明:注册「收到二进制数据报」回调;传 0 清除。
  • 参数一│子程序指针 回调: 形参固定为: 函数 名(整数 连接ID, 文本 IP, 整数 端口, 文本 IP端口, 字节集 数据) · 连接ID 固定为 1。

UDP类/属性

共 14 条。

超时

  • 签名:整数 超时
  • 说明:当前超时毫秒数(无括号属性读,等价 取超时())。

错误信息

  • 签名:文本 错误信息
  • 说明:最近失败原因(无括号属性读)。

端口

  • 签名:整数 端口
  • 说明:已绑定的本地端口。

绑定地址

  • 签名:文本 绑定地址
  • 说明:绑定地址文本。

是否已启动

  • 签名:逻辑 是否已启动
  • 说明:是否已绑定并在异步收包。

是否在监听

  • 签名:逻辑 是否在监听
  • 说明:同「是否已启动」。

远程IP

  • 签名:文本 远程IP
  • 说明:默认对端 IP。

远程端口

  • 签名:整数 远程端口
  • 说明:默认对端端口。

远程地址

  • 签名:文本 远程地址
  • 说明:默认对端「主机:端口」。

客户IP

  • 签名:文本 客户IP
  • 说明:最近一包来源 IP。

客户端口

  • 签名:整数 客户端口
  • 说明:最近一包来源端口。

客户地址

  • 签名:文本 客户地址
  • 说明:最近一包来源「主机:端口」。

最大包长

  • 签名:整数 最大包长
  • 说明:单包最大字节数。

广播允许

  • 签名:整数 广播允许
  • 说明:是否允许广播(等价 取广播())。

UDP类/方法

共 32 条。

置超时

  • 签名:无 置超时([整数 毫秒=30000])
  • 说明:设置同步收包超时(毫秒)。
  • 参数一│[整数 毫秒=30000]: >0 生效;≤0 时回退为 30000。

取超时

  • 签名:整数 取超时()
  • 说明:取当前超时(毫秒)。

置最大包长

  • 签名:无 置最大包长([整数 字节=65507])
  • 说明:单包最大字节数(防超大数据报)。
  • 参数一│[整数 字节=65507]: 默认接近 UDP 理论上限;≤0 回退默认。

取最大包长

  • 签名:整数 取最大包长()
  • 说明:取单包最大字节数。

置广播

  • 签名:无 置广播([逻辑 允许=真])
  • 说明:是否允许发送广播包(SO_BROADCAST)。
  • 参数一│[逻辑 允许=真]: 真=允许广播。

取广播

  • 签名:整数 取广播()
  • 说明:取是否允许广播(同属性 广播允许)。

启动

  • 签名:逻辑 启动(整数 端口, [文本 绑定地址="0.0.0.0"])
  • 说明:绑定本地端口并启动异步收包(推荐名;同「监听」)。
  • 参数一│整数 端口: 1~65535,本机绑定端口。
  • 参数二│[文本 绑定地址=”0.0.0.0”]: 0.0.0.0=全部网卡;本机联调常用 127.0.0.1。

监听

  • 签名:逻辑 监听(整数 端口, [文本 绑定地址="0.0.0.0"])
  • 说明:同「启动」(兼容旧名)。
  • 参数一│整数 端口: 1~65535,本机绑定端口。
  • 参数二│[文本 绑定地址=”0.0.0.0”]: 绑定 IP。

停止

  • 签名:无 停止()
  • 说明:停止异步收包(推荐名;旧名「停止监听」)。

停止监听

  • 签名:无 停止监听()
  • 说明:同「停止」(兼容旧名)。

关闭

  • 签名:无 关闭()
  • 说明:关闭套接字并停止收包。

重置

  • 签名:无 重置()
  • 说明:关闭并恢复默认(超时/最大包长等);不清回调。

连接

  • 签名:逻辑 连接(文本 主机, 整数 端口)
  • 说明:记住默认对端(无握手);之后 发送() 可省略地址。
  • 参数一│文本 主机: IP 或主机名。
  • 参数二│整数 端口: 对端端口。

发送

  • 签名:整数 发送(文本 数据) 或 发送(文本 主机, 整数 端口, 文本 数据)
  • 说明:发送文本包。1 参走默认对端;3 参等价 发送到。
  • 参数一│文本 数据或主机: 1 参时为数据;3 参时为主机。
  • 参数二│[整数 端口]: 3 参时对端端口。
  • 参数三│[文本 数据]: 3 参时发送内容。

发送到

  • 签名:整数 发送到(文本 主机, 整数 端口, 文本 数据)
  • 说明:向指定地址发送文本包。
  • 参数一│文本 主机: IP 或主机名。
  • 参数二│整数 端口: 对端端口。
  • 参数三│文本 数据: 发送内容。

发送字节集

  • 签名:整数 发送字节集(字节集 数据) 或 发送字节集(文本 主机, 整数 端口, 字节集 数据)
  • 说明:发送二进制包。1 参走默认对端;3 参等价 发送字节集到。
  • 参数一│字节集 数据或文本 主机: 1 参时为数据;3 参时为主机。
  • 参数二│[整数 端口]: 3 参时对端端口。
  • 参数三│[字节集 数据]: 3 参时发送内容。

发送字节集到

  • 签名:整数 发送字节集到(文本 主机, 整数 端口, 字节集 数据)
  • 说明:向指定地址发送二进制包。
  • 参数一│文本 主机: IP 或主机名。
  • 参数二│整数 端口: 对端端口。
  • 参数三│字节集 数据: 原始数据。

广播

  • 签名:整数 广播(整数 端口, 文本 数据)
  • 说明:向广播地址发送文本包(须先 置广播)。
  • 参数一│整数 端口: 目标端口。
  • 参数二│文本 数据: 发送内容。

广播字节集

  • 签名:整数 广播字节集(整数 端口, 字节集 数据)
  • 说明:向广播地址发送二进制包(须先 置广播)。
  • 参数一│整数 端口: 目标端口。
  • 参数二│字节集 数据: 原始数据。

接收

  • 签名:文本 接收()
  • 说明:同步收一包文本;超时用会话超时。成功后可 取客户IP/口/地址。

接收字节集

  • 签名:字节集 接收字节集()
  • 说明:同步收一包二进制。

是否已启动

  • 签名:逻辑 是否已启动()
  • 说明:是否已绑定并在异步收包(同 是否在监听)。

是否在监听

  • 签名:逻辑 是否在监听()
  • 说明:同「是否已启动」。

取端口

  • 签名:整数 取端口()
  • 说明:取已绑定的本地端口。

取绑定地址

  • 签名:文本 取绑定地址()
  • 说明:取绑定地址文本。

取远程IP

  • 签名:文本 取远程IP()
  • 说明:取连接() 记住的默认对端 IP。

取远程端口

  • 签名:整数 取远程端口()
  • 说明:取默认对端端口。

取远程地址

  • 签名:文本 取远程地址()
  • 说明:取「主机:端口」形式的默认对端。

取客户IP

  • 签名:文本 取客户IP()
  • 说明:取最近一包来源 IP(同步接收或事件后有效)。

取客户端口

  • 签名:整数 取客户端口()
  • 说明:取最近一包来源端口。

取客户地址

  • 签名:文本 取客户地址()
  • 说明:取最近一包来源「主机:端口」。

取错误

  • 签名:文本 取错误()
  • 说明:取最后一次失败原因;也可用属性 u.错误信息。

易错对照

错误 正确
与 TCP 混用假设 UDP 无连接、可能丢包乱序

相关

TCP类 · WebSocket类