Open sdack-cloud opened 2 years ago
Hi @sdack-cloud , are you able to provide any additional information into what issue you are having?
clientRSocket = RSocketConnector.create()
.metadataMimeType(WellKnownMimeType.MESSAGE_RSOCKET_COMPOSITE_METADATA.string)
.dataMimeType(WellKnownMimeType.APPLICATION_JSON.string)
.setupPayload(DefaultPayload.create("ttest"))
.acceptor(
SocketAcceptor.forRequestResponse { payload: Payload ->
val route: String? = decodeRoute(payload.sliceMetadata())
payload.release()
if ("message" == route) {
val meta = MetaVo.Meta.parseFrom(payload.data)
Log.e("MESSAGE", meta.toString())
Mono.just(meta)
}
Mono.error(IllegalArgumentException("Route $route not found"))
}
)
.keepAlive(Duration.ofSeconds(30), Duration.ofMinutes(30))
.reconnect(Retry.fixedDelay(4, Duration.ofSeconds(5)))
.block()
this.connector = new RSocketConnector({
setup: {
keepAlive: 5 * 1000,
lifetime: 10 * 1000, //存活时长 毫秒
dataMimeType: WellKnownMimeType.APPLICATION_CBOR.string,
metadataMimeType: WellKnownMimeType.MESSAGE_RSOCKET_COMPOSITE_METADATA.string,
// dataMimeType: "application/octet-stream",
// metadataMimeType: 'message/x.rsocket.composite-metadata.v0',//message/x.rsocket.composite-metadata.v0
payload: {
data: Buffer.from("vue"),
// metadata: encodeSimpleAuthMetadata("user","pass"),
}
},
responder: {
accept: () => ({
requestResponse: (payload) => {
console.log("payload")
}
})
},
transport: new WebsocketClientTransport({
debug: true,
url: 'ws://localhost:7002',
}),
});
this.connector
.connect()
.then((res) => {
console.log("connect", res)
this.rsocketRequester = res;
window.rsocketRequester = res;
this.rsocketRequester.onClose((err) => {
console.log("CLOSE", err)
})
}).catch((err) => {
console.error("connect", err);
});
How does the JS client receive routing messages ,Like Java acceptor(), it receives the information from the server
There are too few examples. Can you add some examples @viglucci
Websocketclient receives routing message