WebSocket vs SSE:实时通信技术的对比与选择

一、前言

Hello,欢迎来到流穿的AI探索之路系列专栏,作为一名AI应用工程师,我会在这儿更新一些前沿技术,欢迎关注哦。

这个问题也是前不久面试时被提问的,让我对比WebSocket和SSE,说说AI产品下处理SSE请求的方法。挺有意思就整理出来了

试想一个需求:

我们想实时了解某个数据,如果只用HTTP 协议,做不到服务器主动向客户端推送信息。只能是客户端向服务器发出轮询请求。
而轮询也存在问题:
服务端被迫维持大量不同的连接,以及由此造成的高开销

而随着LLM(大语言模型)的发展,流式的数据传输变得越来越普遍。两种常见的实时通信技术:WebSocketSSE(Server-Sent Events) 也进入我们视野,为什么大语言模型对话不使用WebSocket而是SSE呢?

今天就来做一个对比

二、WebSocket概述 🌐

(一)WebSocket的工作原理 🔧

WebSocket 是一种全双工通信协议 🔄,可以在客户端和服务器之间建立持久连接。一旦连接建立,双方就可以在不需要再次握手的情况下,实时双向发送数据。

WebSocket是基于TCP/IP的,基于可靠性传输协议。处于OSI七层协议中的应用层

下面一张图说明了 HTTP 与 WebSocket 的主要区别:

Screenshot 2024-12-17 at 13.53.46

💡 可以看到WebSocket和Http是有联系的,WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。

1.通信过程 📡

(1). 连接建立:通过HTTP协议进行一次"握手",升级到WebSocket协议。 (2). 数据传输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值