📱 WebSockets 像5岁小孩一样解释
发布: (2026年1月5日 GMT+8 06:22)
2 min read
原文: Dev.to
Source: Dev.to
短信 vs 电话通话
短信 (HTTP)
- 你发送一条消息
- 你等待回复
- 对话结束
- 想再聊?再发送一条消息并等待
电话通话 (WebSocket)
- 只需连接一次
- 随时双向交流
- 即时响应
- 保持连接,直到挂断
HTTP 的问题
常规网页使用 HTTP:
Browser: "Any new messages?"
Server: "Nope"
(1 second later)
Browser: "Any new messages?"
Server: "Nope"
(1 second later)
Browser: "Any new messages?"
Server: "Yes! Here's one!"
这就像每秒给某人发一次“有什么新消息?!”的短信——既烦人又浪费!
WebSocket 解决方案
Browser: "Let's open a phone line"
Server: "Connected! ✅"
(Server gets a new message)
Server: "Hey! New message for you!" (instantly pushes)
(Browser sends a message)
Browser: "Sending this!" (instantly sent)
双方随时都能交流。无需等待。也不需要不断询问。
你可以看到它的地方
- 💬 聊天应用(WhatsApp,Discord)
- 📈 股票行情(实时价格更新)
- 🎮 多人游戏(实时动作)
- 🔔 通知(即时提醒)
- 📝 Google Docs(实时看到他人输入)
一句话概括
WebSocket 保持一个实时连接,使浏览器和服务器能够即时、随时交流,无需等待。