zoukankan      html  css  js  c++  java
  • 微信、QQ这类IM APP怎么做——谈谈WebSocket

    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

      自行百度学习。

  • 相关阅读:
    在.netframework 4.5.2项目上集成identityserver4的登录功能
    Elasticsearch学习笔记之—测试查询分词器的分词结果
    asp.net core mysql 错误提示:Out of memory (Needed***
    Elasticsearch学习笔记之— excludes的高级用法
    正则表达式(.*?)
    WPF里实现imageButton的步骤
    Elasticsearch学习笔记之—wildcard、fuzzy、regexp、prefix
    Elasticsearch学习笔记之—数据范围查询
    工具小方法
    lambda表达式
  • 原文地址:https://www.cnblogs.com/sylz/p/5720990.html
Copyright © 2011-2022 走看看