抖音弹幕游戏开发之第4集:第一个WebSocket连接·优雅草云桧·卓伊凡

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

抖音弹幕游戏开发之第4集:第一个WebSocket连接·优雅草云桧·卓伊凡

第4集:第一个WebSocket连接

创建main.py文件

在项目文件夹中创建 main.py 文件。

理解回调函数

回调函数就是"当某件事发生时,自动执行的函数"。

WebSocket常用的回调函数:

  • on_open - 连接成功时调用
  • on_message - 收到消息时调用
  • on_close - 连接关闭时调用
  • on_error - 发生错误时调用

完整代码

复制代码
import websocket

def on_open(ws):
    print("WebSocket连接成功!")

def on_close(ws, close_status_code, close_msg):
    print("WebSocket连接关闭")

def on_error(ws, error):
    print(f"发生错误: {error}")

# 创建WebSocket连接
ws = websocket.WebSocketApp(
    "ws://localhost:12011",
    on_open=on_open,
    on_close=on_close,
    on_error=on_error
)

ws.run_forever()

代码解析

导入库

复制代码
import websocket

定义回调函数

复制代码
def on_open(ws):
    print("WebSocket连接成功!")
  • def - 定义函数的关键字
  • ws - WebSocket连接对象参数
  • print - 打印输出

创建连接

复制代码
ws = websocket.WebSocketApp(
    "ws://localhost:12011",  # 服务器地址
    on_open=on_open,         # 传递函数名,不加括号
    on_close=on_close,
    on_error=on_error
)

启动连接

复制代码
ws.run_forever()  # 保持运行,持续监听

测试连接

前提:必须先启动"弹幕工具"

复制代码
python main.py

成功输出:

复制代码
WebSocket连接成功!

Ctrl+C 停止程序。

常见问题

|-------|-----------|---------|
| 问题 | 原因 | 解决方法 |
| 连接不上 | 弹幕工具未启动 | 先启动工具 |
| 端口被占用 | 12011端口冲突 | 检查端口 |
| 语法错误 | 代码有误 | 检查缩进和标点 |
| 防火墙阻止 | 网络限制 | 添加防火墙例外 |

本集总结

  • ✅ 创建main.py文件
  • ✅ 学习回调函数概念
  • ✅ 编写三个回调函数
  • ✅ 创建并测试WebSocket连接

下一集:接收第一条弹幕消息

相关推荐
xing-xing4 分钟前
魔搭社区(ModelScope)下载模型文件
python·jupyter·llm
承渊政道15 分钟前
【Python学习】(了解使用库、标准库、第三方库以及综合案例实操)
python·学习·pycharm·标准库·第三方库·使用库·综合案例
草莓熊Lotso27 分钟前
【LangChain】输出解析器全解:让大模型输出从 “聊天” 变 “机器可读”
服务器·数据库·python·langchain·pip
卷无止境32 分钟前
Python 脚本工程化:从"能跑就行"到"生产级代码"
后端·python
卷无止境33 分钟前
Python 函数式编程:从思想到实践
后端·python
人间凡尔赛9 小时前
Next.js 16 生产级实战:Cache Components + View Transitions 完整指南
开发语言·javascript·ecmascript
满怀冰雪10 小时前
06-自动微分入门:用 Paddle 计算梯度
人工智能·python·深度学习·paddle
稚南城才子,乌衣巷风流13 小时前
函数:编程中的核心概念
开发语言·前端·javascript
阿米亚波13 小时前
【C++】流式数据输入处理(不完全整理)
开发语言·c++·笔记
大模型码小白14 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程