《抖音弹幕游戏开发专栏》是优雅草建立的专栏,由优雅草资深开发工程师云桂提供实战教学配对发布有对应的视频教程,以下内容为技术文稿,卓伊凡辅助。
抖音弹幕游戏开发之第3集:WebSocket基础知识·优雅草云桧·卓伊凡
第3集:WebSocket基础知识
什么是WebSocket
WebSocket是一种网络通信协议,可以让服务器和客户端之间进行实时的双向通信。
HTTP vs WebSocket
|------|-----------|-----------|
| 特性 | HTTP | WebSocket |
| 通信方式 | 单向(请求-响应) | 双向 |
| 连接状态 | 短连接 | 长连接 |
| 实时性 | 需要轮询 | 服务器主动推送 |
| 适用场景 | 网页浏览 | 实时通信 |
为什么需要WebSocket
直播间的弹幕是实时的!观众随时可能发送弹幕,我们需要立即收到这些数据。
- 用HTTP:需要不停地问服务器"有新弹幕吗?",效率低
- 用WebSocket:服务器有新弹幕就主动推送,像订阅消息一样
WebSocket工作流程
1. 客户端发起连接请求
↓
2. 服务器接受连接(握手)
↓
3. 双方自由发送/接收消息
↓
4. 任意一方关闭连接
接口文档关键信息
服务地址
ws://localhost:12011
ws- WebSocket协议标识localhost- 本地服务器12011- 端口号
连接方式
标准WebSocket连接,无需认证。
数据格式
所有数据都是JSON格式:
{
"uid": "用户ID",
"name": "用户昵称",
"msgType": "弹幕",
"content": "弹幕内容"
}
消息类型
|----|---------|---------------------|
| 类型 | 说明 | 特有字段 |
| 弹幕 | 用户发送的文字 | content |
| 礼物 | 用户赠送的礼物 | giftName, giftCount |
| 点赞 | 用户点赞行为 | count |
| 关注 | 用户关注主播 | - |
| 进房 | 用户进入直播间 | memberCount |
本集总结
- ✅ 理解WebSocket是什么,为什么需要它
- ✅ 了解WebSocket的工作流程
- ✅ 熟悉接口文档的关键信息
- ✅ 了解JSON数据格式和消息类型
下一集:创建第一个WebSocket连接