前言
在RSocket协议初识(一)中我们使用SpringBoot创建了简单的RSocket通讯模型,本篇我们将介绍纯Java使用Demo。本文代码参照官网的rsocket-java/examples
demo的git地址:https://github.com/KouLouYiMaSi/rsocketdemo
Before
- 创建普通maven项目
- 引入必要依赖如下
<dependency>
<groupId>io.rsocket</groupId>
<artifactId>rsocket-core</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>io.rsocket</groupId>
<artifactId>rsocket-transport-netty</artifactId>
<version>1.0.0</version>
</dependency>
Request-Response应用
- 服务端
import java.util.concurrent.TimeUnit;
import io.rsocket.Payload;
import io.rsocket.RSocket;
import io.rsocket.SocketAcceptor;
import io.rsocket.core.RSocketServer;
import io.rsocket.transport.netty.server.TcpServerTransport;
import io.rsocket.util.DefaultPayload;
import reactor.core.publisher.Mono;
public class RequestResponseServer {
public static void main(String[] args) throws InterruptedException {
// RSocket类能够提供多种通讯模型,此处用到的就是request-response
RSocket rsocket = new RSocket() {
boolean fail = false;
// Mono表示 最多返回一个Payload,Payload裹挟着数据
@Override
public Mono<Payload> requestResponse(Payload p