即時通訊--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中的請求


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM