WebSocket protocol implementation for the server module. This WebSocket library turns a TCP stream protocol into a WebSocket protocol.
More...
|
struct | __attribute__ ((packed)) pkrsrv_websocket_packet_frame_len8 |
|
char * | pkrsrv_websocket_generate_ws_accept_key (char *websocket_key) |
|
void | pkrsrv_websocket_init (pkrsrv_websocket_t *ws) |
|
ssize_t | pkrsrv_websocket_read_http_header (pkrsrv_websocket_t *ws, SSL *ssl) |
|
ssize_t | pkrsrv_websocket_read_header (pkrsrv_websocket_t *ws, SSL *ssl) |
|
ssize_t | pkrsrv_websocket_read_payload (pkrsrv_websocket_t *ws, SSL *ssl, void *buffer, ssize_t size) |
|
ssize_t | pkrsrv_websocket_send_header (pkrsrv_websocket_t *ws, SSL *ssl, ssize_t length) |
|
void | pkrsrv_websocket_fragmented_begin (pkrsrv_websocket_t *ws, SSL *ssl, size_t length) |
|
ssize_t | pkrsrv_websocket_fragmented_put (pkrsrv_websocket_t *ws, SSL *ssl, void *data, ssize_t length) |
|
WebSocket protocol implementation for the server module. This WebSocket library turns a TCP stream protocol into a WebSocket protocol.
◆ pkrsrv_websocket_header_t
struct pkrsrv_websocket_header_t |
Data Fields |
uint8_t |
header0_16[2] |
|
uint8_t |
fin |
|
uint64_t |
plen |
|
uint16_t |
plen16 |
|
uint64_t |
plen64 |
|
uint8_t |
opcode |
|
uint8_t |
is_masked |
|
unsigned char |
mkey[4] |
|
int |
mask_i |
|
◆ pkrsrv_websocket_payload_t
struct pkrsrv_websocket_payload_t |
Data Fields |
ssize_t |
length |
|
unsigned char * |
data |
|
◆ pkrsrv_websocket_t
struct pkrsrv_websocket_t |
Data Fields |
int(*)(SSL *ssl, void *buffer, ssize_t length) |
read |
|
int(*)(SSL *ssl, void *buffer, ssize_t length) |
write |
|
pkrsrv_websocket_header_t |
current_header |
|
bool |
is_fragmented |
|
char * |
buffer |
|
int |
buffer_length |
|
int |
buffer_readed |
|
pthread_mutex_t * |
write_mutex |
|
◆ PKRSRV_WEBSOCKET_EXPECTED_HTTP_HEADER
#define PKRSRV_WEBSOCKET_EXPECTED_HTTP_HEADER "GET / HTTP/1.1" |
◆ pkrsrv_websocket_packet_frame_header
#define pkrsrv_websocket_packet_frame_header |
Value: uint8_t fin_rsv_opcode; \
uint8_t mlen8;
◆ PKRSRV_WEBSOCKET_GUID
#define PKRSRV_WEBSOCKET_GUID "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" |
◆ HTTP_HEADER_BUFF_SIZE
#define HTTP_HEADER_BUFF_SIZE 1000 |
◆ HTTP_PROP_BUFF_SIZE
#define HTTP_PROP_BUFF_SIZE 40 |
◆ HTTP_VAL_BUFF_SIZE
#define HTTP_VAL_BUFF_SIZE 50 |
◆ pkrsrv_websocket_packet_frame_len8_t
◆ pkrsrv_websocket_packet_frame_len16_t
◆ pkrsrv_websocket_packet_frame_len64_t
◆ PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE
Enumerator |
---|
PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_METHOD | |
PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_PROP | |
PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_SPACE | |
PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_VAL | |
PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_CR | |
PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_END | |
◆ PKRSRV_WEBSOCKET_RESPONSE
Enumerator |
---|
PKRSRV_WEBSOCKET_RESPONSE_INSTANCE_PORT | |
◆ __attribute__()
struct __attribute__ |
( |
(packed) | | ) |
|
◆ pkrsrv_websocket_generate_ws_accept_key()
char * pkrsrv_websocket_generate_ws_accept_key |
( |
char * | websocket_key | ) |
|
|
extern |
◆ pkrsrv_websocket_init()
◆ pkrsrv_websocket_read_http_header()
◆ pkrsrv_websocket_read_header()
◆ pkrsrv_websocket_read_payload()
ssize_t pkrsrv_websocket_read_payload |
( |
pkrsrv_websocket_t * | ws, |
|
|
SSL * | ssl, |
|
|
void * | buffer, |
|
|
ssize_t | size ) |
|
extern |
◆ pkrsrv_websocket_send_header()
ssize_t pkrsrv_websocket_send_header |
( |
pkrsrv_websocket_t * | ws, |
|
|
SSL * | ssl, |
|
|
ssize_t | length ) |
|
extern |
◆ pkrsrv_websocket_fragmented_begin()
void pkrsrv_websocket_fragmented_begin |
( |
pkrsrv_websocket_t * | ws, |
|
|
SSL * | ssl, |
|
|
size_t | length ) |
|
extern |
◆ pkrsrv_websocket_fragmented_put()
ssize_t pkrsrv_websocket_fragmented_put |
( |
pkrsrv_websocket_t * | ws, |
|
|
SSL * | ssl, |
|
|
void * | data, |
|
|
ssize_t | length ) |
|
extern |