专栏名称: 前端大全
分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯
目录
今天看啥  ›  专栏  ›  前端大全

一文吃透 WebSocket 原理

前端大全  · 公众号  · 前端  · 2024-08-23 15:11

主要观点总结

本文介绍了WebSocket的原理、优缺点以及应用场景,包括前后端交互过程、WebSocket握手、心跳检测与断线重连等。文章旨在帮助读者了解WebSocket的基础知识,扩展知识面,以便在项目中进行技术选型、决策。

关键观点总结

关键观点1: WebSocket概述

WebSocket是一种在单个TCP连接上进行全双工通信的协议,允许服务端主动向客户端推送数据。它在Web应用中实现了双向平等的对话,属于服务器推送技术的一种。

关键观点2: WebSocket的原理

WebSocket协议需要通过已建立的TCP连接来传输数据,具体实现是通过HTTP协议建立通道,然后在此基础上用真正的WebSocket协议进行通信。WebSocket一旦建立,就可以互相发送或接受信息。

关键观点3: WebSocket的优缺点

优点包括全双工通信、实时性高、服务器主动推送信息等;缺点包括少部分浏览器不支持、浏览器支持程度和方式有区别等。WebSocket的应用场景主要包括即时聊天通信、多玩家游戏、在线协同编辑等。

关键观点4: 心跳检测与断线重连

心跳检测是客户端定时给服务端发送消息,证明客户端在线。如果超出一定时间没有发送,则判断为离线。断线重连的解决方案包括客户端主动发送上行心跳包、服务端主动发送下行心跳包,以及使用js库处理重连等。

关键观点5: 总结

WebSocket是为了在Web应用上进行双通道通信而产生的协议,具有节省服务器资源、效率高等优点。需要掌握其原理、应用场景以及心跳检测与断线重连等基础知识,以便在实际项目中进行应用。


文章预览

作者:Gaby https://juejin.cn/post/7020964728386093093 通常我们开发H5,都是基于HTTP协议,典型的 请求/响应 模式。随着web能力越来越丰富,更多的小伙伴有机会尝试一些新的网络协议,比如 WebSocket ,这在一些实时性要求比较高的场景出现频率很高。今天带来一篇关于 WebSocket 原理的文章,对于接触过的同学,可以看看自己是否已经掌握了这些基础知识,还不了解的同学也可以扩展下知识面,毕竟知识面越广,将来在项目里进行技术选型、决策时候,才能更加科学、严谨。 下面是正文部分。 一、前言 踩着年末的尾巴,提前布局来年,为来年的工作做个好的铺垫,所以就开始了面试历程,因为项目中使用到了 WebSocket ,面试官在深挖项目经验的时候,也难免提到 WebSocket 相关的知识点,因为之前并没有考虑这么深,所以,回答的还是有所欠缺,因此,赶紧趁 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览