【问题标题】:Using mobile data causes unexpected results使用移动数据会导致意外结果
【发布时间】:2016-12-06 10:50:01
【问题描述】:

我们目前正在开发一个可以在 wifi 上正常工作的应用程序,并且有一个离线版本,一旦完成,用户就可以将结果上传到在线数据库。遇到的问题是使用移动数据(3G/4G)时,ID 不匹配。有没有其他人在使用 HTTPClient 时遇到过类似的问题,下面是我的 httpclient 的示例,我是否遗漏了有助于防止此问题或任何其他建议的内容?

我知道 NETWORK_ENABLED 仍会执行同步,因为移动数据在 NETWORK_ENABLED 下,但有没有办法查看连接是否丢失?

this.sendToServer = function(params, httpParams) {
    if (Alloy.Globals.NETWORK_ENABLED){
        var xhr = Ti.Network.createHTTPClient(params);
        xhr.validatesSecureCertificate = false;
        xhr.open('POST', this.url, true);
        xhr.send(httpParams);
    } else {
        params.onload();
    }
};

【问题讨论】:

  • 你使用过成功和错误回调吗?
  • @renepot 是的,我添加了成功和错误回调,我只是觉得它们不是 100% 可靠的。我可能需要更多某种形式的验证。

标签: javascript android ios httpclient appcelerator


【解决方案1】:

我唯一可以推荐的是这个模块:https://github.com/benbahrenburg/Pinger 但我从未使用过它。检查示例 .js 文件,似乎只 ping www.apple.com 并给你一个“是”或“否”。 实际上可能非常有用=)

【讨论】:

  • 谢谢,我会检查并告诉你我的发现
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-24
  • 1970-01-01
  • 1970-01-01
  • 2014-09-04
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
相关资源
最近更新 更多