zoukankan      html  css  js  c++  java
  • 即时通讯--socketio

    1.即时通讯介绍

    • 即时通讯是基于TCP长连接, 建立连接之后, 客户端/服务器可以无限次随时向对端发送数据, 实现服务器数据发送的即时性
    • http是短连接, 设计的目的是减少服务器的压力
    • http伪即时通讯
      • 轮训 emmet
      • 长轮训 long pulling

    • 使用场景
      • 聊天功能
      • 在线即时推送 如下单后立即推送给商户
    • 实现即时通讯
      • 自己搭建服务器
        • 选择支持的协议 websocket xmpp
        • 使用一些比较成熟的框架 socketio xmppframework
        • 自己封装socket
      • 使用成熟的第三方方案
        • 融云 环信

    2.websocket和socketio

    • websocket和http都是基于tcp
    • http建立的是短连接, 而websocket建立的是长连接

    socket.io是基于websocket协议的一套成熟的解决方案

    • 优点
      • 性能好
      • 支持多平台
    • 缺点
      • 传输的数据并不完全遵循websocket协议, 这就要求客户端和服务端都必须使用socket.io解决方案
    • 安装 pip install python-socketio

    3. 搭建socketio服务器 (重点)

    搭建支持协程的socket服务器

    pip install python-socketio
    pip install eventlet  # eventlet包提供了协程的支持
    

    安装chrome插件firecamp 用于测试socketio请求

    事件处理 (重点)

    • 事件: 类似于http中的路由
    • 消息: 类似于http中的请求

  • 相关阅读:
    css 模块化
    zookeeper集群-solrcloud集群
    Ansible
    Haproxy
    Saltstack数据系统
    Saltstack入门
    DNS(bind)添加A、CNAME、MX、PTR记录、智能DNS(ACL)
    主从同步DNS(BIND)
    单台DNS服务器搭建(BIND)
    python2.7多线程的批量操作远程服务器
  • 原文地址:https://www.cnblogs.com/oklizz/p/11443134.html
Copyright © 2011-2022 走看看