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

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

相关推荐
xuegao08072 小时前
星图AI_comfyUI部署实践_问题解决方案记录
人工智能·python·aigc
WHS-_-20222 小时前
Sensing in Bistatic ISAC Systems With Clock Asynchronism
开发语言·php
IvanCodes2 小时前
十、C语言文件与标准 I/O
c语言·开发语言
新缸中之脑2 小时前
SaaS 大灭绝
开发语言·ios·swift
娇娇乔木2 小时前
模块十四--String/StringBuilder--尚硅谷Javase笔记总结
java·开发语言
七夜zippoe2 小时前
Scikit-learn高级实战:自定义评估器与流水线架构设计
python·机器学习·scikit-learn·mixin·baseestimator
脏脏a2 小时前
【C++篇】面向对象编程的三大特性:深入解析继承机制
开发语言·c++·继承·组合
csdn2015_2 小时前
mybatisplus 获得新增id
java·开发语言·mybatis
ghie90902 小时前
差速转向移动机器人基于速度的动力学模型与自适应控制器 MATLAB实现
开发语言·matlab