我有一个Tcp数据提供程序,它使用管道定界符发出数据,该定界符需要转换为JSON,然后存储在NoSQL数据存储区中。
我已使用RSocket中的TcpClientTransport协议连接到提供程序,以便以requestStream方式成功连接客户端,以便仅接收数据包,直到发送最后一个数据包为止。
public class RSocketSample {
public static void main(String[] args) {
final int port = 8282;
final String host = "localhost";
RSocket socket = RSocketFactory.connect()
.frameDecoder(PayloadDecoder.ZERO_COPY)
.transport(TcpClientTransport.create(host, port))
.start()
.block();
System.out.printf("Tcp Client initialized, connecting to port %d%n", port);
socket.requestStream(DefaultPayload.create("request-stream-message"))
.map(Payload::getData)
.map(ByteBuffer::asReadOnlyBuffer)
.doOnNext(System.out::println)
//.take(10)
.doFinally(signalType -> socket.dispose())
//.then()
// Block until all the bytes are received
.blockLast();
}
}
我希望它连接到提供程序,将自定义格式转换为JSON。 我已经尝试打印出接收到的数据,但是没有看到任何显示。 任何帮助都感激不尽!!!