gpt4 book ai didi

vue.js - 如何将 RSocket 数据检索到不同的选项卡?

转载 作者:行者123 更新时间:2023-12-04 12:54:06 26 4
gpt4 key购买 nike

这是我的代码,它仅适用于我所在的选项卡。我收到了回复,似乎一切正常,但我仍然不完全了解该技术的操作,这就是我去找你的原因。
它以“responseHanlder”结尾

connect() {
// backend ws endpoint
const wsURL = "ws://localhost:6565/rsocket";

// rsocket client
const client = new RSocketClient({
serializers: {
data: JsonSerializer,
metadata: IdentitySerializer,
},
setup: {
keepAlive: 60000,
lifetime: 180000,
dataMimeType: "application/json",
metadataMimeType: "message/x.rsocket.routing.v0",
},
transport: new RSocketWebSocketClient({
url: wsURL,
}),
});

client.connect()
.then((sock) => {
document.getElementById("connect")
.addEventListener("click", (event) => {
numberRequester(sock);
});
}, errorHanlder);

/*Aquí comienza el código del primer socket para insertar un producto
antes de enviar la notificación primero realiza una acción*/
const numberRequester = (socket) => {

socket
.requestResponse({
data: {
id: null,
subscriber: retrieveData.id,
titulo: "Se insertó un nuevo producto",
descripcion:
"Aquí se agrega una descripcion breve de lo que se acaba de hacer (opcional)",
fecha_inicio: today,
fecha_final: final,
leido: false,
},
metadata:
String.fromCharCode("insert.notification".length) +
"insert.notification",
})
.subscribe({
onComplete: responseHanlder,
onError: errorHanlder,
onNext: responseHanlder,
onSubscribe: (subscription) => {
//subscription.request(100); // set it to some max value
},
});
}


// error handler
const errorHanlder = (e) => console.log(e);
// response handler
const responseHanlder = (payload) => {
this.sendNotification(payload.data);
};
}
发送数据后,我的 rsocket 接收信息,然后我收到包含所需数据的响应。目前,它仅适用于运行它的选项卡,但我需要在其他选项卡中反射(reflect)该信息,因为它是通知的原型(prototype)。

最佳答案

RSocket 是有状态的、面向 session 的应用协议(protocol)
这意味着,每次您的 RSocket 客户端连接到服务器时,它都会打开一个连接并通过它与您的服务器进行通信。
如果客户端是浏览器,出于安全原因,其他浏览器 session 将无法访问您的连接。
如何通过 rsocket 广播消息
实际上,在浏览器的情况下,您可以使用 2 个选项:
经纪人类型的消息传递
您始终可以连接到单个中介服务器,这将确保您的消息被广播到所有目的地。
您可以在 Spring Tutorials 找到这样的应用示例。
使用 WebRTC 传输的 Brokerless 消息传递(实验性的,未正式发布)
我们进行了几次将 WebRTC(以及普通的 WebSocket)传输引入浏览器通信的实验。
请找到那些实验here .如果您认为需要,请尝试并在我们的问题跟踪器上分享您对此传输支持的反馈/投票。

关于vue.js - 如何将 RSocket 数据检索到不同的选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69089492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com