STTNet
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 宏定义 
Public 成员函数 | 所有成员列表
stt::network::WebSocketServerFDHandler类 参考

WebSocket协议的操作类 仅传入套接字,然后使用这个类进行WebSocket的操作 更多...

#include <sttnet.h>

类 stt::network::WebSocketServerFDHandler 继承关系图:
stt::network::TcpFDHandler

Public 成员函数

void setFD (const int &fd, SSL *ssl=nullptr, const bool &flag1=false, const bool &flag2=true)
 初始化对象,传入套接字等参数 更多...
 
int getMessage (TcpFDInf &Tcpinf, WebSocketFDInformation &Websocketinf, const unsigned long &buffer_size, const int &ii=1)
 获取一条websocket消息 更多...
 
bool sendMessage (const std::string &msg, const std::string &type="0001")
 发送一条websocket信息 更多...
 

详细描述

WebSocket协议的操作类 仅传入套接字,然后使用这个类进行WebSocket的操作

成员函数说明

int stt::network::WebSocketServerFDHandler::getMessage ( TcpFDInf Tcpinf,
WebSocketFDInformation Websocketinf,
const unsigned long &  buffer_size,
const int &  ii = 1 
)

获取一条websocket消息

参数
Tcpinf保存底层tcp状态的信息
Websocketinf保存websocket协议状态信息
buffer_size服务器定义的解析缓冲区的大小(单位为字节)
ii记录解析次数,一些场合用得到 默认为1
返回
-1:获取失败 0:一般报文 1:关闭帧 2:心跳确认报文 3:心跳报文 4: 等待数据
注解
TcpInf.status

0 初始状态 1 确认消息类型中 2 确认消息长度中 3 接收mask中 4 接收消息中

bool stt::network::WebSocketServerFDHandler::sendMessage ( const std::string &  msg,
const std::string &  type = "0001" 
)

发送一条websocket信息

参数
msg需要发送的websocket信息
type指定消息类型的自定义字段(通常是 WebSocket 帧的 opcode) 约定格式为 "1000" + type,其中:
  • "0001" 表示文本帧(Text Frame)
  • "0010" 表示二进制帧(Binary Frame)
  • "1000" 表示连接关闭(Close Frame)
  • "1001" 表示 Ping 帧
  • "1010" 表示 Pong 帧 请根据内部约定使用,默认使用 text(文本帧)
返回
true:发送成功 false:发送失败
void stt::network::WebSocketServerFDHandler::setFD ( const int &  fd,
SSL *  ssl = nullptr,
const bool &  flag1 = false,
const bool &  flag2 = true 
)
inline

初始化对象,传入套接字等参数

参数
fd套接字
sslTLS加密的SSL句柄(默认为nullptr)
flag1true:启用非阻塞模式 false:启用阻塞模式 (默认为false,即启用阻塞模式)
flag2true:启用SO_REUSEADDR模式 false:不启用SO_REUSEADDR模式 (默认为true,即启用SO_REUSEADDR模式)

该类的文档由以下文件生成: