使用 SSE 流式传输回复
通过数据流逐步返回结果。
使用 SSE 流式传输回复 是 CoddyKit 上的免费 MCP Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 MCP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 MCP Academy 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
Why Stream at All?
Some tools take time: a long search or a slow API call. Instead of making the client wait in silence, the server can stream updates as they happen. ⏳
Meet SSE
Streamable HTTP streams using Server-Sent Events, or SSE. It is a simple, web-native way for a server to push a sequence of messages over one open connection.
One Direction Only
SSE flows in a single direction: server to client. The server keeps the connection open and pushes events down it whenever it has something new to say.
The Telltale Content Type
You know a reply is a stream by its Content-Type. When the server sets it to text/event-stream, the client reads events instead of one final body.
Content-Type: text/event-streamWhat an Event Looks Like
Each SSE event is just text. Lines starting with data: carry the payload, and a blank line marks the end of one event before the next begins.
data: {"jsonrpc":"2.0","id":1,"result":{}}
Events Carry JSON-RPC
Inside each event sits a familiar JSON-RPC message. Streaming does not invent a new format; it just delivers the same messages over time.
Progress While You Wait
A streaming reply can send progress notifications first, then the final result last. The user sees the tool is working instead of staring at a spinner.
Quick Calls Skip the Stream
Streaming is optional. For a fast tool, the server can just return a single JSON response and close, with no event stream needed at all.
Each Event Can Be Numbered
SSE lets the server tag events with an id. That tiny detail becomes important later: it is how a client can resume a stream after a dropped connection.
id: 42
data: {...}
The SDK Handles the Plumbing
You rarely write raw SSE by hand. The MCP SDK formats events for you; you simply send progress and results, and it streams them correctly.
Better Feel, Same Result
Streaming does not change what a tool returns, only how it feels. The final answer is identical; the user just gets a smoother, more responsive experience. ✨
Quick Check
How does a server signal that a reply is a live stream?
Recap: Streaming with SSE
SSE lets the server push JSON-RPC events down one open connection: progress first, result last. It is optional, web-native, and makes slow tools feel fast. 🎉
常见问题解答
「使用 SSE 流式传输回复」课时是免费的吗?
是的 — 「使用 SSE 流式传输回复」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 MCP Academy 课程的其余内容,请升级到 CoddyKit PRO。 MCP Academy 课程共包含 4 节课。
「使用 SSE 流式传输回复」这节课中我会学到什么?
通过数据流逐步返回结果。 你通过在浏览器中直接运行的动手代码来练习 MCP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 MCP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 MCP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 SSE 流式传输回复」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 MCP Academy 课中编写并运行代码吗?
能。每节 MCP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 为什么 stdio 不够用
- 可流式传输的 HTTP 传输
- 使用 SSE 流式传输回复
- 会话与重新连接