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

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

相关推荐
helloweilei1 天前
python 抽象基类
python
用户8356290780511 天前
Python 实现 PPT 转 HTML
后端·python
zone77391 天前
004:RAG 入门-LangChain读取PDF
后端·python·面试
zone77391 天前
005:RAG 入门-LangChain读取表格数据
后端·python·agent
JaguarJack1 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo1 天前
PHP 的异步编程 该怎么选择
后端·php
树獭非懒2 天前
AI大模型小白手册|Embedding 与向量数据库
后端·python·llm
唐叔在学习2 天前
就算没有服务器,我照样能够同步数据
后端·python·程序员
JaguarJack2 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
曲幽2 天前
FastAPI流式输出实战与避坑指南:让AI像人一样“边想边说”
python·ai·fastapi·web·stream·chat·async·generator·ollama