建立连接时SignalR Core调用函数
SignalR Core call function when connection is established
当我的客户端成功连接到集线器时,我希望客户端立即加入一个组。我的集线器中有一个方法可以做到这一点,我只需要一个事件处理程序来建立连接,就像
connection.start().done(
function () {
connection.invoke('JoinGroup', 'GroupName');
});
在 SignalR 中用于普通 ASP.Net。
我可以这样做吗?还是我必须设置一个计时器,以便在 start();
调用后 x 秒后执行此操作?
编辑:
我发现我可以做到
connection.start(
function (){
connection.invoke('JoinGroup', 'GroupName');
}
);
但它告诉我它 Cannot send data if the connection is not in the 'Connected' State.
做什么?
由于版本不匹配等原因,SignalR 非常困难
其中有一个部分指定了如何启动(并等待建立连接):
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 客户端使用的承诺必须是 resolved/rejected 才能使用。
另一种选择是包装在异步方法中并等待调用(不确定这是否能正常工作)。如:
await connection.start();
//connection should be started now. beware of exceptions though
当我的客户端成功连接到集线器时,我希望客户端立即加入一个组。我的集线器中有一个方法可以做到这一点,我只需要一个事件处理程序来建立连接,就像
connection.start().done(
function () {
connection.invoke('JoinGroup', 'GroupName');
});
在 SignalR 中用于普通 ASP.Net。
我可以这样做吗?还是我必须设置一个计时器,以便在 start();
调用后 x 秒后执行此操作?
编辑:
我发现我可以做到
connection.start(
function (){
connection.invoke('JoinGroup', 'GroupName');
}
);
但它告诉我它 Cannot send data if the connection is not in the 'Connected' State.
做什么?
由于版本不匹配等原因,SignalR 非常困难
其中有一个部分指定了如何启动(并等待建立连接):
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 客户端使用的承诺必须是 resolved/rejected 才能使用。 另一种选择是包装在异步方法中并等待调用(不确定这是否能正常工作)。如:
await connection.start();
//connection should be started now. beware of exceptions though