gpt4 book ai didi

jquery - 使用 SignalR 检测 'server offline'

转载 作者:行者123 更新时间:2023-12-03 23:04:38 25 4
gpt4 key购买 nike

我们尝试在低带宽环境中使用 SignalR,在该环境中,与后端服务器的连接可能会随机出现和消失,并且我们希望我们的 Web 应用程序能够做出适当的响应。

看起来这个连接 API 在过去的一年里一直在变化,但根据最新的文档,我尝试连接到 $.connection.hub.stateChanged 来检测连接状态的变化,我得到当客户端从断开连接 -> 连接 -> 连接时,启动时会出现几次点击,但是当我停止服务器时,事件处理程序不会触发,当我再次启动服务器时,实时消息传递不再起作用。

为了测试此场景,我在 Windows 7 上运行 IIS 中的 ASP.NET Web 服务器,并且 Web 客户端在 Google Chrome 中运行。一旦站点运行并且正在交换消息,我就会在 IIS 中终止该网站,并且消息会停止,但客户端不会收到任何通知。

这是一个快速片段(使用 TypeScript):

$.connection.hub.stateChanged((change) => {
console.log("state changed...");
console.log(change);

if (change.newState === $.signalR.connectionState.reconnecting) {
this.raise('action:disconnected');
}
else if (change.newState === $.signalR.connectionState.connected) {
this.raise('action:connected');
}
});

任何指导将不胜感激,谢谢!

-杰里米

最佳答案

您使用的是哪个版本的 SignalR?在最新的(以及之前的)中,服务器离线会立即被检测到,并且状态更改会通过重新连接标志引发。

要终止服务器,我假设您的意思是关闭 IIS。例如 iisreset。在 inetmgr 中停止网站并不会关闭该网站,它只是删除该端口的 Http.sys 绑定(bind)。请参阅https://github.com/SignalR/SignalR/issues/1148了解更多信息。

如果你想模拟服务器宕机,请杀死w3wp。

关于jquery - 使用 SignalR 检测 'server offline',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14531450/

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