随着直播、短视频、在线教育等行业的爆发,流媒体技术成为核心支撑。Go语言凭借“高并发、低延迟、轻量高效、原生支持网络编程”的特性,成为开发流媒体服务器的优选语言——其goroutine并发模型能轻松应对海量用户连接,丰富的标准库与第三方库可快速实现各类流媒体协议。本文将带你从0开始,掌握用Go语言开发流媒体服务器网站的全流程,最终实现一个支持音视频直播、点播的完整网站系统。

*   01 基础知识储备/

  *   01 01 单元测试连接数据库 (25.08 MB), 11:16

  *   02 02 httprouter基本使用 (41.54 MB), 16:25

  *   03 03 postman模拟浏览器post请求 (10.81 MB), 03:35

  *   04 04 ajax给服务器发送请求(上) (123.05 MB), 11:40

  *   05 05 ajax给服务器发送请求(下) (149.01 MB), 13:24

*   02 项目整体结构分析/

  *   01 01 项目整体功能介绍 (9.17 MB), 04:12

  *   02 02 项目结构拆分 (9.86 MB), 04:26

  *   03 03 数据库表创建 (16.34 MB), 05:38

*   03 用户session处理/

  *   01 01 session增加删除 (46.79 MB), 17:39

  *   02 02 根据id查询session (39.11 MB), 13:53

  *   03 03 查询所有session (30.54 MB), 11:11

  *   04 04 session业务逻辑分析&生成session (40.34 MB), 16:39

  *   05 05 判断session是否过期 (32.23 MB), 11:59

  *   06 06 读取所有session到内存 (7.49 MB), 02:15

  *   07 07 区分用户有没有登录 (21.75 MB), 08:53

  *   08 08 装饰器模式 (60.46 MB), 21:27

  *   09 09 日志打印2次的补充讲解 (6.62 MB), 02:14

  *   10 10 获取客户端请求中sessionId (15.53 MB), 07:05

  *   11 11 校验用户session是否过期 (14.34 MB), 05:16

  *   12 12 总结回顾 (6.80 MB), 03:09

*   04 用户注册登录/

  *   01 01 监听浏览器发送请求并获取相应字段 (19.39 MB), 07:07

  *   02 02 Restful风格请求 (14.78 MB), 05:13

  *   03 03 定义错误结构体和响应码 (18.15 MB), 08:14

  *   04 04 处理请求参数异常 (50.28 MB), 19:17

  *   05 05 错误结构体封装 (17.91 MB), 06:54

  *   06 06 用户信息dao层处理 (24.40 MB), 09:37

  *   07 07 用户注册后生成session (40.75 MB), 14:02

  *   08 08 用户注册测试 (23.44 MB), 08:02

  *   09 09 接收用户登录请求 (35.43 MB), 12:21

  *   10 10 查询数据库判断是否为登录用户 (144.81 MB), 10:40

  *   11 11 总结回顾 (5.86 MB), 02:34

*   05 限制上传视频/

  *   01 01 搭建视频处理服务 (26.73 MB), 10:02

  *   02 02 定义结构体记录当前链接数和最大链接数 (25.13 MB), 10:19

  *   03 03 管道限制链接数 (23.24 MB), 08:55

  *   04 04 释放链接 (11.29 MB), 04:12

  *   05 05 中间件限制最大链接数 (30.00 MB), 10:26

  *   06 06 访问视频 (44.93 MB), 14:21

  *   07 07 限制播放链接数测试 (12.53 MB), 01:59

  *   08 08 总结回顾 (7.64 MB), 03:44

*   06 视频管理/

  *   01 01 添加上传视频测试页面 (21.30 MB), 07:13

  *   02 02 上传视频思路分析 (11.13 MB), 04:05

  *   03 03 上传视频请求 (55.63 MB), 18:55

  *   04 01 删除视频id记录 (30.48 MB), 12:44

  *   05 02 获取多条需删除记录 (17.55 MB), 06:00

  *   06 03 将待删除视频id插入数据库 (26.06 MB), 09:27

  *   07 4 分析删除视频需求 (18.90 MB), 07:57

  *   08 5 读取删除数据 (20.83 MB), 07:43

  *   09 6 管道中读取数据进行删除操作 (38.96 MB), 14:04

  *   10 7 删除异常的返回 (23.59 MB), 08:09

  *   11 8 分析生产者消费者的各种状态 (15.51 MB), 06:21

  *   12 9 任务结构体定义&生产者开启 (24.77 MB), 10:13

  *   13 10 生成和消费状态切换(上) (215.75 MB), 14:07

  *   14 10 生成和消费状态切换(下) (157.98 MB), 10:56

  *   15 11 生成和消费过程中异常处理 (13.46 MB), 03:44

  *   16 12 定时任务开启 (40.36 MB), 14:45

  *   17 13 定时任务删除视频数据测试 (18.03 MB), 07:18

  *   18 14 总结回顾 (15.72 MB), 05:25

*   07 前端服务请求转发/

  *   01 1 前端服务作用 (4.66 MB), 01:53

  *   02 2 约束请求体 (19.04 MB), 08:28

  *   03 3 web前端服务校验post请求 (30.64 MB), 11:26

  *   04 4 获取web服务请求体 (18.89 MB), 06:14

  *   05 5 验证请求体是否合法 (30.56 MB), 11:10

  *   06 6 请求转发实现 (56.61 MB), 19:12

  *   07 7 post请求转发测试 (23.10 MB), 07:52

  *   08 8 get请求转发 (15.50 MB), 04:40

  *   09 9 转发请求回顾 (8.34 MB), 03:18

*   08 cookie判断用户登录状态/

  *   01 01 切换注册和登录界面 (36.45 MB), 12:05

  *   02 02 获取注册的账号密码 (28.11 MB), 09:08

  *   03 03 发送ajax请求 (34.94 MB), 12:05

  *   04 04 发送请求存储cookies (76.32 MB), 23:53

  *   05 05 获取cookie结果 (34.65 MB), 11:54

  *   06 06 注册成功后续逻辑处理 (54.09 MB), 17:02

  *   07 07 注册成功后显示用户名称 (21.29 MB), 06:56

  *   08 08 用户登录后的重定向 (46.62 MB), 16:04

  *   09 09 用户登录请求 (28.50 MB), 08:15

  *   10 10 用户登录请求测试 (16.35 MB), 05:53

*   09 前台服务视频上传/

  *   01 01 数据库插入删除视频数据 (48.96 MB), 18:20

  *   02 02 查询上传视频列表数据 (25.80 MB), 10:50

  *   03 03 视频列表展示 (30.34 MB), 08:29

  *   04 04 处理上传视频路由请求 (51.47 MB), 16:28

  *   05 05 ajax发送网络请求 (46.22 MB), 13:38

  *   06 06 获取用户信息 (37.96 MB), 11:39

  *   07 07 发送请求给获取用户信息给uid赋值 (63.15 MB), 19:06

  *   08 08 获取用户uid测试 (3.50 MB), 01:12

  *   09 09 视频信息插入数据库测试 (13.56 MB), 05:01

  *   10 10 上传视频端口切换 (26.91 MB), 08:11

  *   11 11 上传视频ajax请求 (30.12 MB), 09:38

  *   12 12 上传视频测试 (12.61 MB), 04:02

  *   13 13 获取视频列表 (123.79 MB), 08:23

  *   14 14 ajax请求获取视频列表 (21.08 MB), 06:08

  *   15 15 拼接列表页面 (127.09 MB), 11:49

  *   16 16 播放列表第一个视频 (36.82 MB), 10:28

  *   17 17 发送ajax请求 (37.51 MB), 10:29

  *   18 18 删除视频 (39.49 MB), 09:35

  *   19 19 点击播放视频 (17.02 MB), 04:55

  *   20 20 视频删除验证 (3.63 MB), 00:55

*   10 前台服务评论处理/

  *   01 1 评论数据库操作 (27.00 MB), 08:16

  *   02 02 监听评论请求 (31.59 MB), 09:00

  *   03 03 发送ajax请求提交评论 (53.96 MB), 14:28

  *   04 04 评论列表查询 (28.04 MB), 07:30

  *   05 05 评论列表展示 (33.32 MB), 08:53