Skip to content

How does the client receive messages sent by the server #240

Open

Description

@sdack-cloud

Websocketclient receives routing message

Activity

  1. viglucci commented on Aug 8, 2022

    @viglucci
    Member

    Hi @sdack-cloud , are you able to provide any additional information into what issue you are having?

  2. sdack-cloud commented on Aug 8, 2022

    @sdack-cloud
    Author
                        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

  3. changed the title [-]Websocketclient receives routing message[/-] [+]How does the client receive messages sent by the server[/+] on Aug 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs triageIssue/PR needs triage by a project maintainer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions