iOS webSocket建立长连接

iOS-即时通讯

一般来说,即时通讯有两种方式WebSocketAjax 的选择
WebSocket出来之前,实现即时通讯通常使用Ajax来实现,而Ajax是通过轮询的方式进行实时数据的获取,轮询就是在指定的时间间隔内,进行HTTP 请求来获取数据,而这种方式会产生一些弊端,一方面产生过多的HTTP请求,占用带宽,增大服务器的相应,浪费资源,另一方面,因为不是每一次请求都会有数据变化(就像聊天室),所以就会造成请求的利用率低。
WebSocket正好能够解决上面的弊端,WebSocket是客户端与服务器之前专门建立一条通道,请求也只请求一次,而且可以从同道中实时的获取服务器的数据,所以当应用到实时的应用上时,WebSocket是一个很不错的选择。

Ajax 轮询方式本文就不作详细介绍

WebSocket 协议名

WebSocket的链接不是以http或https开头的,而是以ws和wss开头的,这里需要注意一下。
  • iOS原声并不能完美支持WebSocket建立长连接。因此这里我们需要用到SocketRocket
    第三方库,由facebook开源的组件。
    这个组件能够完美的兼容webSocket的链接
    具体使用方法可参考 iOS websocket接入

注意点

  • 需要设置单例,防止内存无限增大。
  • 需要保活,防止服务端自动断开长连接
  • 使用前需要先提供长连接地址wss://
  • 使用demo也可参考 iOS websocket接入一文中提供的demo地址

你可能感兴趣的:(iOS webSocket建立长连接)