🤗 ApiHug × {Postman|Swagger|Api...} = 快↑ 准√ 省↓
- GitHub - apihug/apihug.com: All abou the Apihug
- apihug.com: 有爱,有温度,有质量,有信任
- ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace
The Next Generation API Development Platform - ApiHug
UDP协议 UDP(User Datagram Protocol) , 文中代码都在: UDP 客户端例子open in new window。
#链接
要将UDP客户端连接到给定的端点,您必须创建并且配置一个UdpClient 实例。默认情况下,host为localhost,post为12012。下面是创建和连接一个UDP客户端的例子:
public static void main(String[] args) {
Connection connection =
UdpClient.create() // <1>
.connectNow(Duration.ofSeconds(30)); // <2>
connection.onDispose().block();
}
<1>
创建一个UdpClient 实例用来进行的配置操作。<2>
用阻塞的方式进行连接操作,并且等待它初始化完成。
#预热
public static void main(String[] args) {
UdpClient udpClient =
UdpClient.create()
.host("example.com")
.port(80)
.handle((udpInbound, udpOutbound) -> udpOutbound.sendString(Mono.just("hello")));
udpClient
.warmup() // <1>
.block();
Connection connection = udpClient.connectNow(Duration.ofSeconds(30)); // <2>
connection.onDispose().block();
}
<1>
初始化和加载事件循环组,主机名解析器和native传输库<2>
在连接远程节点的时候会进行主机名解析
#写数据
public static void main(String[] args) {
Connection connection =
UdpClient.create()
.host("example.com")
.port(80)
.handle((udpInbound, udpOutbound) -> udpOutbound.sendString(Mono.just("hello"))) // <1>
.connectNow(Duration.ofSeconds(30));
connection.onDispose().block();
}
如果要发送数据到一个已有的端点,您必须添加一个I/O处理器。这个I/O处理器可以通过UdpOutbound
来写出数据。
#读数据
public static void main(String[] args) {
Connection connection =
UdpClient.create()
.host("example.com")
.port(80)
.handle((udpInbound, udpOutbound) -> udpInbound.receive().then()) // <1>
.connectNow(Duration.ofSeconds(30));
connection.onDispose().block();
}
如果要接收从已有端点发过来的数据,您必须添加一个I/O处理器。这个I/O处理器可以通过UdpInbound
来读取数据
其他也基本以此类推。
#参考
- Reactor Netty 官方文档open in new window
- reactor-netty-demo 学习