gpt4 book ai didi

java - 检测 GWT 中的离线和在线状态

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

我正在构建一个 GWT 应用程序,想要检测用户是否有互联网连接。我的主要问题是在进行异步调用时检测互联网。我们主要使用Chrome浏览器。

我尝试使用这个:

public void onFailure(Throwable caught) {

if (caught instanceof StatusCodeException
&& ((StatusCodeException) caught).getStatusCode() == 0) {
return "NoInternetConnnectivity";
}

但我发现除了互联网连接之外,我们在许多其他情况下都会收到 0 作为状态代码。

最佳答案

此代码取自 vaadin TouchKit offline实现时,使用html5询问浏览器是否在线是唯一的方法。请注意,并非所有浏览器都支持此功能,因此如果该属性不存在,则必须返回 true。

 private static native boolean isNavigatorOnline()
/*-{
if($wnd.navigator.onLine != undefined) {
return $wnd.navigator.onLine;
}
return true;
}-*/;

但是,这仅在某些情况下有效,而且我想说它仅对于移动设备足够可靠。

如果你想确保你的服务器可以访问,我会在代码中设置一个循环来轮询服务器,我还会捕获所有服务器 ajax 响应以检查是否存在服务器故障或网络错误。通常,当您收到 Response.getStatusCode == 0 意味着您无法到达服务器(网络故障、服务器故障、CORS 错误等)时,IMO 是您必须考虑警告的情况用户收到诸如服务器无法访问,测试您的连接,...

之类的消息

关于java - 检测 GWT 中的离线和在线状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22776664/

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