问题描述
RSocketResumableTransport似乎不起作用。我在下面的代码中使用RSocketResumableTransport,但它从未连接到服务器(spring-boot版本2.4.0-M1)。我正在使用rsocket-websocket-client“:” 0.0.19“版本。以下是用于连接的类:
import { Injectable } from '@angular/core';
import { IdentitySerializer,JsonSerializer,RSocket,RSocketClient,RSocketResumableTransport } from 'rsocket-core';
import RSocketWebSocketClient from 'rsocket-websocket-client';
@Injectable({ providedIn: 'root' })
export class RSocketResumableConnector {
private client: RSocketClient;
private rsocket: RSocket;
constructor() {
console.log('RSocketResumableConnector loaded...');
this.createConnection();
}
public createConnection() {
const resumetoken = Buffer.from('tweet.all');
const bufferSize = 128;
const sessionDurationSeconds = 20;
const resumableTransport = new RSocketResumableTransport(
() =>
new RSocketWebSocketClient({
url: 'ws://localhost:7000/tweetsocket',}),{
bufferSize,// max number of sent & pending frames to buffer before failing
resumetoken,// unique identifier the session across connections
sessionDurationSeconds,}
);
// Create an instance of a client
this.client = new RSocketClient({
// send/receive objects instead of strings/buffers
serializers: {
data: JsonSerializer,Metadata: IdentitySerializer,},setup: {
payload: {
data: 'angular-client',Metadata: String.fromCharCode('shell-client'.length) + 'shell-client',dataMimeType: 'application/json',MetadataMimeType: 'message/x.rsocket.routing.v0',keepAlive: 5000,lifetime: 60000,transport: resumableTransport,});
// start resumableTransport
let start = true;
resumableTransport.connectionStatus().subscribe({
onNext: (status) => {
console.log('Resumable transport status changed: ' + status.kind);
if (status.kind === 'NOT_CONNECTED') {
if (!start) {
console.log('Resumable transport disconnected,retrying...');
setTimeout(() => resumableTransport.connect());
} else {
start = false;
}
}
},onSubscribe: (resumeSubscription) => {
resumeSubscription.request(Number.MAX_SAFE_INTEGER);
},});
setTimeout(() => {},30000000);
// Now create a socket
this.client.connect().subscribe({
onComplete: (socket: RSocket) => {
console.log('socket in created',socket);
this.rsocket = socket;
},onError: (error) => console.error('Connection has been refused due to',error),onSubscribe: (cancel) => {
console.log('client subscription done..');
},onNext: (data) => {
console.log('data is',data);
},});
}
public disconnectClient() {
if (this.client !== undefined) {
this.client.close();
}
}
public getRSocket(): RSocket {
return this.rsocket;
}
}
Resumable transport disconnected,retrying...
Resumable transport status changed: CONNECTING
Resumable transport status changed: NOT_CONNECTED
Resumable transport disconnected,retrying...
请让我知道我做错了什么吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)