Advertisement

C/C++后端开发学习

阅读量:

tcp服务器支持websocket协议

  • 背景
    • websocket
        • 应用场景
        • websocket工作流程
            • 握手过程(Opening Handshake)
            • 通信协议
            • 结束(Closing Handshake)
      • 实现

          • 服务端的状态机
          • 代码实现
              • 结构定义
      • 辅助函数

      • 核心代码

        • 测试

背景

虽然HTTP协议在WEB领域已被广泛采用,但其本质上属于无状态且单向传输的通信机制。在一些需要实时更新页面内容的场景中,若依赖HTTP协议进行实现,将会面临诸多不便之处:前端必须持续不断地向服务端发送HTTP请求以获取最新数据。这种做法引发了一系列问题:

  • 高频次的HTTP请求会导致服务器资源被大量占用;
  • 对前端脚本而言也会带来额外的性能负担;

因此,人们自然而然地思考是否可以建立一个独立的TCP长连接,在前后端之间实现数据的双向交互,从而让服务端能够主动将信息推送至前端。基于这一需求,websocket技术应运而生。

websocket

实际上,在连接初始化阶段,websocket协议采用了HTTP协议,这一过程被

全部评论 (0)

还没有任何评论哟~