《AI Agent 开发入门》17.3 TS 落点一:同一协议的 TS 客户端
客户端用 fetch 发 POST,检查 HTTP 状态与 Content-Type,再逐字节解码并交给有状态 SSEParser。原生 EventSource 的 GET 接口不适合这个 POST 演示。空行才派发事件;流结束时 flush TextDecoder,未终止的残帧按规范丢弃。心跳注释忽略,帧长度与总请求时间有上限;finally 释放 reader。协议中的 id/retry 与自动重连尚未实现。
tag
客户端用 fetch 发 POST,检查 HTTP 状态与 Content-Type,再逐字节解码并交给有状态 SSEParser。原生 EventSource 的 GET 接口不适合这个 POST 演示。空行才派发事件;流结束时 flush TextDecoder,未终止的残帧按规范丢弃。心跳注释忽略,帧长度与总请求时间有上限;finally 释放 reader。协议中的 id/retry 与自动重连尚未实现。
从传输层对比 WebSocket、SSE 与 MQTT:拆解握手开销与首包延迟、WebSocket 分片与心跳保活、SSE 自动重连与 Last-Event-ID 断点续传、MQTT 的 QoS 等级与遗嘱消息,并给出移动端弱网表现、连接数扩展与网关选型、协议降级与选型决策表。
系统讲解 TypeScript 实时通信的工程落地:WebSocket 与 SSE 的选型对比、类型化事件与判别联合消息协议、心跳与重连退避、断线补偿与消息去重、背压与发送队列、多路复用与订阅管理、服务端广播与房间模型,以及可观测与压测实践。
讲解 Nginx 代理 WebSocket 与 SSE 长连接的关键配置,涵盖 Upgrade 与 Connection 头部透传、proxy_read_timeout 与心跳配合、SSE 缓冲关闭、连接数限制与负载均衡会话保持,以及长连接场景的排错方法。
SSE 断线后客户端带 Last-Event-ID 重连,服务端从该 id 之后续推,呼应 3.2 的事件 id。讲清为什么必须服务端保留事件缓冲、缓冲多久、缓冲丢了怎么降级为全量重取;用 httpx 真跑「消费 5 条断开 → 重连补齐 11 条」并断言无重复无缺失。
人类对“等待”的耐心是有限的:当用户发出一个问题,超过 3 秒没有反馈,流失率就会显著上升。LLM 应用因此把“生成中”的状态转化为体验的一部分——流式输出让模型一个字一个字地“打字”,用户感受到的不是等待,而是思考的进行。但流式不是简单地把 HTTP 响应切成小块。它牵扯协议选型、增量解析、中断语 …
MCP 远程传输与部署实战:从本地 stdio 到远程服务器的演进、Streamable HTTP 传输(流式/非流式)、SSE 传输模式对比、无状态 vs 有状态会话、远程服务器的鉴权与安全、服务器托管与网关、传输选择决策(本地进程/局域网/公网 SaaS)、生产部署的可靠性与多客户端并发。
用一条只读 HTTP 流做服务端推送:真跑 text/event-stream 的 data/event/id 字段、StreamingResponse 流式输出与 Last-Event-ID 断线续传,并给出 SSE 与 WebSocket 的选型对照。
深入 Clojure 的网络服务层:http-kit 异步 HTTP 客户端与服务端、clj-http 同步调用、WebSocket 双向通信、SSE 服务器推送、gRPC 跨语言调用,以及网络超时、重试、连接池与背压的工程化处理,帮你在 Web 服务中稳健地调用与提供网络能力。
当服务端只需单向推送时,WebSocket 是过重的选择。本节讲透 SSE 的文本帧格式、id 与 retry 字段的作用、服务端如何用 ReadableStream 输出事件流、客户端 EventSource 的自动重连为何常常失效,以及需要 POST 与自定义请求头时如何改用 fetch 读取。还给出事件契约的类型化写法与流式 JSON 增量解析,并指出代理缓冲与超时这几个必踩的坑。
深度讲解 Server-Sent Events(SSE)的原理与实时通信选型:SSE 工作机制(EventSource、text/event-stream)、与 WebSocket 的全面对比、断线重连与自动恢复、单向推送 vs 双向通信场景、多实例下的推送方案、常见避坑与工程实践。
接入卷一实际 stream_run 入口,交付完整 SSE 回放、失败事件与游标验收,明确进程内测试、真实网络和原生模型流的区别。
GraphQL Subscription 三种传输方案深度对比:WebSocket(graphql-ws)、SSE(Server-Sent Events)、HTTP 长轮询。含 Apollo/GraphQL Yoga 完整实现代码、认证方案与广播策略。
深入对比WebSocket、SSE、长轮询三大实时通信技术的原理与适用场景,详解连接管理、心跳保活、断线重连、消息广播等核心技术,提供Go、Node.js完整实战代码。
Webhook 和轮询、WebSocket、SSE 有什么区别?用对比表 + 决策树 + 代码示例讲透 4 种实时通信方案的适用场景、性能差异与架构选型。