传输方式

UDP

qianmoQqianmoQ· 更新于 2026-10-01· 阅读 3 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

无连接的 UDP 套接字。用于需要广播的协议、与从不主动建立自身连接的设备通信的协议,或本身就基于 UDP 定义的协议。

传输语法

{IP address or hostname}[:{port}]

如果驱动为该协议声明了默认端口,则可以省略端口。

示例

knxnet-ip://192.168.1.10
modbus-tcp:udp://192.168.1.100:502
名称 类型 默认值 必需 描述

udp

Maven 依赖

<dependency>
  <groupId>org.apache.plc4x</groupId>
  <artifactId>plc4j-transports-udp</artifactId>
  <version>1.0.0</version>
</dependency>

配置选项:

udp.local-address

STRING

要绑定的本地地址。如果未设置,则绑定到所有网络接口。

udp.local-port

INT

0

绑定的本地端口。0 表示使用临时端口。

udp.read-timeout-ms

INT

0

套接字读取超时时间,单位为毫秒。0 表示不超时。

udp.max-packet-size

INT

65507

以字节为单位的 UDP 数据包最大大小。

udp.send-buffer-size

INT

0

发送缓冲区大小(字节)。0 表示使用系统默认值。

udp.receive-buffer-size

INT

0

以字节为单位的接收缓冲区大小。0 表示使用系统默认值。

udp.broadcast

BOOLEAN

false

为发送广播数据包启用 SO_BROADCAST。

udp.reuse-address

BOOLEAN

false

启用 SO_REUSEADDR,以允许绑定到相同地址/端口的多次绑定。

udp.share-socket

BOOLEAN

false

在多个传输实例之间共享底层 UDP 套接字。设置为 true 时,具有相同 localAddress:localPort 的实例将共享同一个套接字。这适用于多个逻辑连接共用一个 UDP 端口的协议。

udp.multicast-ttl

INT

1

多播数据包的生存时间(1-255)。

设置 udp.broadcast=true 可发送到广播地址,设置 udp.share-socket=true 可在多个连接需要共享同一个本地端口时使用——固定端口应答的协议就需要这种方式。

评论

登录后参与评论

正在加载评论…