Websocket在iOS开发中使用场景及接入

1,151 阅读2分钟

接触WebSocket

最近公司的项目中有一个功能 需要服务器主动推数据到APP。

考虑到普通的HTTP 通信方式只能由客户端主动拉取,服务器不能主动推给客户端 。然后就想出的2种解决方案。

1.和后台沟通了一下 他们那里使用的是WebSocket ,所以就使用WebSocket让我们app端和服务器建立长连接。这样就可以事实接受他发过来的消息

**2.使用推送,**也可以实现接收后台发过来的一些消息

最后还是选择了WebSocket,找到了facebook的 SocketRocket 框架。下面是接入过程中的一些记录

WebSocket 应用场景

1. IM(即时通讯)

典型例子:微信、QQ等 当然,用户量如果非常大的话,仅仅依靠WebSocket肯定是不够的,各大厂应该也有自己的一些优化的方案与措施。但对于用户量不是很大的即时通讯需求,使用WebSocket是一种不错的方案。

2. 游戏(多人对战)

典型例子:王者荣耀等(应该都玩过)

3. 协同编辑(共享文档)

多人同时编辑同一份文档时,可以实时看到对方的操作。 这时,就用上了WebSocket。

4. 直播/视频聊天

对音频/视频需要较高的实时性。

5. 股票/基金等金融交易平台

对于股票/基金的交易来说,每一秒的价格可能都会发生变化。

6. IoT(物联网 / 智能家居)

例如,我们的App需要实时的获取智能设备的数据与状态。 这时,就需要用到WebSocket。

...... 等等等等

只要是一些对 “实时性” 要求比较高的需求,可能就会用到WebSocket。