抖音弹幕游戏开发之第3集:WebSocket基础知识·优雅草云桧·卓伊凡

《抖音弹幕游戏开发专栏》是优雅草建立的专栏,由优雅草资深开发工程师云桂提供实战教学配对发布有对应的视频教程,以下内容为技术文稿,卓伊凡辅助。

抖音弹幕游戏开发之第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连接

相关推荐
爱和冰阔落3 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall4 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
我不会插花弄玉17 小时前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理17 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
xbzb20 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
火云代理21 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖21 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
火云代理1 天前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
如夏倾城1 天前
QUIC——HTTP/3 的唯一底层传输协议 及 0-RTT恢复
网络·网络协议·tcp/ip·安全·http
科研邪修法1 天前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络