跳转至

ev-drogon-enum-class-ws-type-002

字段 值
项目 drogonframework/drogon
固定 commit 3aae769cc405
路径 lib/src/WebSocketConnectionImpl.cc
行段 L45-L53
特性 强类型枚举(enum class)
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-10-27
测试代码 否
发现方式 manual

用法

用 enum class 区分 WebSocket 帧类型并映射到操作码

为什么典型

帧类型只在 WebSocketMessageType 作用域内可见,避免与其它枚举的 Text、Binary 冲突。

摘录

    if (type == WebSocketMessageType::Text)
        opcode = 1;
    else if (type == WebSocketMessageType::Binary)
        opcode = 2;
    else if (type == WebSocketMessageType::Close)
    {
        assert(len <= 125);
        opcode = 8;
    }

备注

生产路径;发送帧之前把消息类型翻译成 RFC 6455 操作码。

查看固定 commit 源码 · 返回证据索引