小编Sli*_*nce的帖子

当页面未处于焦点时,Safari 由于空闲/不活动而断开 Web Socket 连接

我们的应用程序仅在 safari 浏览器中遇到此问题,尤其是在 iOS 设备上。

目前的行为

不确定这是否是一个已知问题(我尝试搜索但一无所获)。如果页面/选项卡未处于焦点状态,Mac 版 Safari 似乎会因不活动/空闲而默默地断开 Web 套接字连接。最大的问题是,iOS X 在移动设备上非常顽固。

重现步骤

打开 Safari > 网站加载 > 将 Safari 置于空闲状态,然后打开任何应用程序或锁定设备。唤醒时,Safari 将关闭连接并且不再显示数据,我们在请求数据的模块上无限加载。

预期行为 Websocket 应通过心跳功能保持活动状态。在其他浏览器中没有看到这种行为,所以不太可能是代码。

这是否可能是某种超越/忽略心跳的省电功能?

import 'whatwg-fetch';
import Config from "../config/main";
import WS from "./websocket";
import Helpers from "./helperFunctions";

var Zergling = (function (WS, Config) {
    'use strict';

    var Zergling = {};

    var subscriptions = {}, useWebSocket = false, sessionRequestIsInProgress = false, loginInProgress = false,
        uiLogggedIn = false, // uiLogggedIn is the login state displayed in UI …
Run Code Online (Sandbox Code Playgroud)

sockets safari websocket ios

5
推荐指数
1
解决办法
3172
查看次数

标签 统计

ios ×1

safari ×1

sockets ×1

websocket ×1