2

如何识别 java 客户端何时成功连接到 SignalR。onConnect 生命周期在哪里。

当 hubConnection 连接到服务器时,我想做一些事情。

hubConnection 具有 onClose 方法,用于订阅在连接关闭或断开连接时运行的回调方法。

4

2 回答 2

2

我试过 doOnComplete() 并且这个解决方案不适合我。IDE 显示“未使用 doOnComplete 的结果”。我找到了更好的解决方案:

connection.start().subscribe(new CompletableObserver() {
        @Override
        public void onSubscribe(@NonNull Disposable d) {}

        @Override
        public void onError(@NonNull Throwable e) {
            // TODO OnError
        }

        @Override
        public void onComplete() {
            Log.d("SocketSrv","Connected");
        }

    });
于 2020-11-16T14:54:05.840 回答
2

布伦南康罗伊 答案:

当 start 返回时,您就知道连接成功了。

例如你可以这样做:

hubConnection.start().doOnComplete(() -> logger.info("客户端连接成功。"));

https://github.com/aspnet/AspNetCore.Docs/issues/12122#issuecomment-485851457

于 2019-05-13T05:36:53.977 回答