gpt4 book ai didi

signalr.client - 建立连接时SignalR Core调用函数

转载 作者:行者123 更新时间:2023-12-01 22:01:34 25 4
gpt4 key购买 nike

当我的客户端成功连接到集线器时,我希望客户端立即加入一个组。我的集线器中有一个方法可以做到这一点,我只需要一个事件处理程序来建立连接,就像

connection.start().done(
function () {
connection.invoke('JoinGroup', 'GroupName');
});

在普通 ASP.Net 的 SignalR 中。

我可以这样做吗?还是我必须设置一个计时器在 start(); 调用后 x 秒后执行此操作?

编辑:

我发现我可以做到

connection.start(
function (){
connection.invoke('JoinGroup', 'GroupName');
}
);

但它告诉我它如果连接未处于“已连接”状态,则无法发送数据。

做什么?

最佳答案

由于版本不匹配等原因,SignalR 非常困难。

请参阅以下文章:https://learn.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-2.1&tabs=visual-studio

其中,有一个部分指定如何开始(并等待建立连接):

var connection = new signalR.HubConnectionBuilder().withUrl("/chatHub").build();
connection.start().then(() => {
//try some stuff here :)
})
.catch(function (err) {
//failed to connect
return console.error(err.toString());
});

javascript 客户端使用的 promises 必须在您使用之前解决/拒绝。另一种选择是包装在异步方法中并等待调用(不确定这是否能正常工作)。如:

await connection.start();
//connection should be started now. beware of exceptions though

关于signalr.client - 建立连接时SignalR Core调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53412852/

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