#include <WebSocketServlet.hpp>
|
virtual void | onClose (void) |
|
virtual bool | onPing (unsigned long long payload_len, bool finish)=0 |
|
virtual bool | onPong (unsigned long long payload_len, bool finish)=0 |
|
virtual bool | onMessage (unsigned long long payload_len, bool text, bool finish)=0 |
|
int | readPayload (void *buf, size_t size) |
|
websocket * | get_websocket (void) const |
|
virtual bool | doGet (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPost (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPut (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPatch (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doConnect (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPurge (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doDelete (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doHead (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doOptions (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPropfind (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doOther (HttpServletRequest &, HttpServletResponse &, const char *method) |
|
virtual bool | doUnknown (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doError (HttpServletRequest &, HttpServletResponse &) |
|
| noncopyable () |
|
| ~noncopyable () |
|
◆ WebSocketServlet() [1/3]
acl::WebSocketServlet::WebSocketServlet |
( |
void |
| ) |
|
◆ WebSocketServlet() [2/3]
构造函数
- 参数
-
stream | {socket_stream*} 当在 acl_master 服务器框架控制下 运行时,该参数必须非空;当在 apache 下以 CGI 方式运行时,该参数 设为 NULL;另外,该函数内部不会关闭流连接,应用应自行处理流对象 的关闭情况,这样可以方便与 acl_master 架构结合 |
session | {session*} 每一个 HttpServlet 对象一个 session 对象 |
◆ WebSocketServlet() [3/3]
acl::WebSocketServlet::WebSocketServlet |
( |
socket_stream * |
stream, |
|
|
const char * |
memcache_addr = "127.0.0.1:11211" |
|
) |
| |
构造函数
- 参数
-
stream | {socket_stream*} 当在 acl_master 服务器框架控制下 运行时,该参数必须非空;当在 apache 下以 CGI 方式运行时,该参数 设为 NULL;另外,该函数内部不会关闭流连接,应用应自行处理流对象 的关闭情况,这样可以方便与 acl_master 架构结合 |
memcache_addr | {const char*} |
◆ ~WebSocketServlet()
virtual acl::WebSocketServlet::~WebSocketServlet |
( |
void |
| ) |
|
|
virtual |
HttpServlet 对象开始运行,接收 HTTP 请求,并回调以下 doXXX 虚函数, 该函数首先会调用 start 过程,然后根据 start 的返回结果及请求/响应 对象是否要求保持长连接来决定是否需要与客户端保持长连接.
◆ doRun() [1/3]
bool acl::WebSocketServlet::doRun |
( |
void |
| ) |
|
|
virtual |
◆ doRun() [2/3]
◆ doRun() [3/3]
bool acl::WebSocketServlet::doRun |
( |
const char * |
memcached_addr, |
|
|
socket_stream * |
stream |
|
) |
| |
|
virtual |
◆ get_websocket()
websocket* acl::WebSocketServlet::get_websocket |
( |
void |
| ) |
const |
|
inlineprotected |
◆ onClose()
virtual void acl::WebSocketServlet::onClose |
( |
void |
| ) |
|
|
inlineprotectedvirtual |
◆ onMessage()
virtual bool acl::WebSocketServlet::onMessage |
( |
unsigned long long |
payload_len, |
|
|
bool |
text, |
|
|
bool |
finish |
|
) |
| |
|
protectedpure virtual |
websocket ping 消息回调.
- 参数
-
payload_len | {unsigned long long} 消息数据总长度 |
text | {bool } true 表示为文本数据, 否则是 二进制数据。 |
finish | {bool} 本数据包是否最后一个 |
- 返回
- {bool} false 断开连接。
◆ onPing()
virtual bool acl::WebSocketServlet::onPing |
( |
unsigned long long |
payload_len, |
|
|
bool |
finish |
|
) |
| |
|
protectedpure virtual |
websocket ping 消息回调.
- 参数
-
payload_len | {unsigned long long} 消息数据总长度 |
finish | {bool} 本数据包是否最后一个 |
- 返回
- {bool} false 断开连接。
◆ onPong()
virtual bool acl::WebSocketServlet::onPong |
( |
unsigned long long |
payload_len, |
|
|
bool |
finish |
|
) |
| |
|
protectedpure virtual |
websocket pong 消息回调.
- 参数
-
payload_len | {unsigned long long} 消息数据总长度 |
finish | {bool} 本数据包是否最后一个 |
- 返回
- {bool} false 断开连接。
◆ readPayload()
int acl::WebSocketServlet::readPayload |
( |
void * |
buf, |
|
|
size_t |
size |
|
) |
| |
|
protected |
子类可以循环调用此方法获得数据帧的数据体,直至返回 <= 0 为止
- 参数
-
buf | {size_t*} 数据缓冲区用来存放结果数据 |
size | {size_t} buf 缓冲区大小 |
- 返回
- {int} 读到的数据长度,分以下三种情形: 0: 表示数据帧正常读完 -1: 表示读出错 >0: 表示读到的数据,应再次调用本方法以便读余下的数据
◆ sendBinary()
bool acl::WebSocketServlet::sendBinary |
( |
const char * |
buf, |
|
|
int |
len |
|
) |
| |
发送二进制数据.
- 参数
-
buf | {const char *} 发送的数据 |
len | {int} buf 数据长度 |
- 返回
- {bool} 错误 false, 否则 true
◆ sendPing()
bool acl::WebSocketServlet::sendPing |
( |
const char * |
buffer = NULL | ) |
|
发送pong 消息.
- 参数
-
buffer | {const char *} 发送的数据 |
- 返回
- {bool} 错误 false, 否则 true
◆ sendPong()
bool acl::WebSocketServlet::sendPong |
( |
const char * |
buffer = NULL | ) |
|
发送pong 消息.
- 参数
-
buffer | {const char *} 发送的数据 |
- 返回
- {bool} 错误 false, 否则 true
◆ sendText()
bool acl::WebSocketServlet::sendText |
( |
const char * |
text | ) |
|
发送文本数据.
- 参数
-
- 返回
- {bool} 错误 false, 否则 true
该类的文档由以下文件生成: