微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – Websockets可以在移动电话上工作吗?

我目前正在考虑创建一个软实时手机webapp,但是当我开始研究websockets时,我发现了大量关于websocket连接的恐慌故事在手机上丢失了:

WebSockets over a 3G connection

http://blog.hekkers.net/2012/12/09/websockets-and-mobile-network-operators/

这仍然可以被视为一个问题吗?

相关地,我怀疑长轮询客户端可能是实现类似功能的好方法,但我想知道我可能遇到的移动特定问题.

到目前为止,我已经读过长时间的轮询请求可能会对电池寿命产生相当大的影响.我还听说iOS以某种方式限制了对单个服务器的连接数量,这可能是个问题.

有没有人在使用实时组件的移动应用程序上工作?如果你有,你遇到了什么挑战,你是如何克服它们的?

解决方法

我使用实时数据构建了几个websocket webapp,它们在iphone和移动设备上表现非常出色. Websockets保持ping / pong连接以查看连接是否仍然存在.导致断线的事情:

>如果您关闭应用程序,将删除连接(在iOS网络应用程序上).
>如果网络确实关闭(wifi / 3g / 4g),您将被丢弃并且无法恢复在该丢弃时间内发送的任何内容.

注意事项:

>在javascript的onclose部分写一个简单的重新连接例程,尝试在一定的秒数后重新连接.

function connect(){
    websocket = new WebSocket("wss://myws:5020");
    websocket.onclose=function(event){
        console.log(event);
        setTimeout(connect,5000); //re-connect after 5 seconds
        //..and so on
}

原文地址:https://www.jb51.cc/iOS/331757.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐