码迷,mamicode.com
首页 > 微信 > 详细

微信、QQ这类IM APP怎么做——谈谈WebSocket

时间:2016-07-30 16:28:10      阅读:477      评论:0      收藏:0      [点我收藏+]

标签:

1、WebSocket的使用场景

  (1)社交聊天

    聊天特点:低延迟,高及时。

  (2)弹幕

  (3)多玩家游戏

  (4)协同编辑

  (5)股票基金实时报价

  (6)体育实况更新

  (7)视频会议/聊天

  (8)基于位置应用

  (9)在线教育

  (10)智能家居

    家里的智能设备的状态必须要实时展现到手机APP客户端上,毫无疑问选择了WebSocket。

2、WebSocket诞生由来

  (1)最开始的轮询Polling阶段

     客户端和服务器之间会一直进行连接,每隔一段时间就会询问一次。

  (2)改进版的长轮询Long Polling阶段

     客户端发送HTTP请求A给服务器,服务器会等待下一个请求B到了之后才回将A的回复返回给客户端。

  (3)WebSocket的诞生

     现在急需的需求是能支持客户端和服务器的双向通信,而且协议的头部又不像HTTP的Header那么大,于是WebSocket就诞生了

3、谈谈WebSocket协议原理

  WebSocket是应用层第七层的一个应用层协议,他必须依赖HTTP协议进行一次握手,握手成功后,数据就直接从TCP通道传输出去了,与HTTP无关了。

  WebSocket的数据是以frame的形式传输。

4、WebSocket和Socket的区别与联系

  首先,Socket不是一个协议。他工作在OSI模型中的第5层(会话层),是为了方便大家直接使用更底层协议(一般是TCP或者UDP)而存在的一个抽象层。Socket是对TCP/UDP协议的封装,Socket本身不是协议,只是一个调用接口(API)。

  Socket在通讯过程中,服务器监听端口是否有连接请求。客户端向服务器发送连接请求,服务端收到连接请求就给客户端发送消息,这样就建立起一个连接。客户端和服务端之后就可以互发消息了。

  所以,基于WebSocket和Socket都可以开发出IM社交聊天类的APP

5、IOS平台有哪些WebSocket和Socket开源框架

  Socket开源框架:CocoaAsyncSocket     socketio/socket.io-chlient-swift

  WebSocket开源框架:facebook/SocketRocket      tidwall/SwiftWebSocket

6、IOS平台如何实现WebSocket

  自行百度学习。

微信、QQ这类IM APP怎么做——谈谈WebSocket

标签:

原文地址:http://www.cnblogs.com/sylz/p/5720990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!