ApiHug × {Postman|Swagger|Api...} = 快↑ 准√ 省↓
Reactor Netty提供了易于使用和配置的TcpServer
。它隐藏了创建TCP服务器所需的大部分Netty的功能,并增加了Reactive Streams
背压。
一下例子镜像自 reactor netty 官方demo 在 gitee 镜像: TCP Server 例子open in new window
TCP(Transmission Control Protocol 传输控制协议)
特点:
public class Application {
public static void main(String[] args) {
DisposableServer server =
TcpServer.create() // <1>
.bindNow(); // <2>
server.onDispose().block();
}
}
返回的 DisposableServer
提供了简单的服务器API,包括disposeNow()
,这个方法可以以阻塞等待的方式来关闭服务器。
想要设置特定host和port,您可以用下面的方式来配置TCP服务器:
public class Application {
public static void main(String[] args) {
DisposableServer server =
TcpServer.create()
.host("localhost") // <1>
.port(8080) // <2>
.bindNow();
server.onDispose().block();
}
}
还可多端口服务:
public class MultiAddressApplication {
public static void main(String[] args) {
TcpServer tcpServer = TcpServer.create();
DisposableServer server1 =
tcpServer
.host("localhost") // <1>
.port(8080) // <2>
.bindNow();
DisposableServer server2 =
tcpServer
.host("0.0.0.0") // <3>
.port(8081) // <4>
.bindNow();
Mono.when(server1.onDispose(), server2.onDispose()).block();
}
}