WebSocketClient Module

# Introduction to the WebSocketClient Module

The WebSocketClient module provides client support for RFC-6455 based WebSocket protocol implementations in Qore.

To use this module, use `"%requires WebSocketClient"` in your code.

This module automatically uses the WebSocketUtil module for encoding and decoding web socket messages.

All the public symbols in the module are defined in the WebSocketClient namespace.

Currently the module provides the following class:

- WebSocketClient: the web socket client class

Example

#!/usr/bin/env qore
%require-our
%enable-all-warnings
%requires WebSocketClient
*string url = shift ARGV;
if (!url) {
stderr.printf("usage: %s <URL>\n", get_script_name());
exit(1);
}
WebSocketClient ws();
ws.connect(("url": url, "callback": sub (*data d) { if (d.typeCode() == NT_BINARY) printf("binary msg received: %y\n", d); else if (d) printf("%s\n", d);}));
# wait forever (or until ctrl-c)
Counter c(1);
c.waitForZero();

# WebSocketClient Module Release History

## v1.3

- ignore `SOCKET-NOT-OPEN` errors when closing (server already closed the connection)

## v1.2

- prepend "WebSocketClient: " to log messages

## v1.1

- added socket instrumention support from Qore 0.8.9

## v1.0

- the initial version of the WebSocketClient module