NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
WebSocket

WebSocket升级协议实现 更多...

WebSocket 的协作图:

struct  websocket_frame_header
 WebSocket帧头部结构 更多...
class  websocket_server
 WebSocket服务器类 更多...
class  websocket_session
 WebSocket会话类 更多...

枚举

enum class  websocket_status : uint16_t {
  websocket_status::NORMAL_CLOSURE = 1000 , websocket_status::GOING_AWAY = 1001 , websocket_status::PROTOCOL_ERROR = 1002 , websocket_status::UNSUPPORTED_DATA = 1003 ,
  websocket_status::RESERVED = 1004 , websocket_status::NO_STATUS_RCVD = 1005 , websocket_status::ABNORMAL_CLOSURE = 1006 , websocket_status::INVALID_FRAME_PAYLOAD_DATA = 1007 ,
  websocket_status::POLICY_VIOLATION = 1008 , websocket_status::MESSAGE_TOO_BIG = 1009 , websocket_status::MANDATORY_EXT = 1010 , websocket_status::INTERNAL_ERROR = 1011 ,
  websocket_status::SERVICE_RESTART = 1012 , websocket_status::TRY_AGAIN_LATER = 1013 , websocket_status::BAD_GATEWAY = 1014 , websocket_status::TLS_HANDSHAKE = 1015
}
 WebSocket关闭状态码 更多...
enum class  websocket_opcode : uint8_t {
  websocket_opcode::CONTINUATION = 0x0 , websocket_opcode::TEXT = 0x1 , websocket_opcode::BINARY = 0x2 , websocket_opcode::CLOSE = 0x8 ,
  websocket_opcode::PING = 0x9 , websocket_opcode::PONG = 0xA
}
 WebSocket帧操作码 更多...

详细描述

WebSocket升级协议实现

支持RFC 6455标准。包括WebSocket服务器、会话管理、帧解析、心跳检测等功能。

主要功能:

  • WebSocket协议握手和升级
  • 文本/二进制消息收发
  • 分片消息处理
  • 心跳检测(Ping/Pong)
  • 关闭握手
  • 多路由支持
  • 广播消息
  • 线程安全的队列管理

枚举类型说明

◆ websocket_opcode

enum class websocket_opcode : uint8_t
strong

WebSocket帧操作码

定义WebSocket帧的类型。

枚举值
CONTINUATION 

延续帧

TEXT 

文本帧

BINARY 

二进制帧

CLOSE 

关闭帧

PING 

Ping帧

PONG 

Pong帧

在文件 websocket.hpp77 行定义.

◆ websocket_status

enum class websocket_status : uint16_t
strong

WebSocket关闭状态码

定义WebSocket协议标准关闭码。

枚举值
NORMAL_CLOSURE 

正常关闭

GOING_AWAY 

端点离开

PROTOCOL_ERROR 

协议错误

UNSUPPORTED_DATA 

不支持的数据类型

RESERVED 

保留

NO_STATUS_RCVD 

未收到状态码

ABNORMAL_CLOSURE 

异常关闭

INVALID_FRAME_PAYLOAD_DATA 

无效帧负载

POLICY_VIOLATION 

策略违规

MESSAGE_TOO_BIG 

消息过大

MANDATORY_EXT 

缺少必要扩展

INTERNAL_ERROR 

内部错误

SERVICE_RESTART 

服务重启

TRY_AGAIN_LATER 

稍后重试

BAD_GATEWAY 

错误的网关

TLS_HANDSHAKE 

TLS握手失败

在文件 websocket.hpp52 行定义.