wilton.js  v202103141
 All Namespaces Functions
Functions
web_wsClient Namespace Reference

wilton/web/wsClient
WebSocket client for web-browsers. More...

Functions

Undefined close (Object socket)
 Close WebSocket connection.
Undefined isOpen (Object socket)
 Check whether WebSocket connnection is open.
Undefined open (String url, Object|Undefined options, Function|Undefined callback)
 Open WebSocket connection to server.
Undefined send (Object socket, Object|Array|String message, Function|Undefined callback)
 Send message to WebSocket server.
Undefined subscribe (Object socket, String topic, Function callback)
 Subscribe to broadcasts from WebSocket server.

Detailed Description

This module allows to use WebSockets in web-browsers using "request-response" and "pub-sub" modes.

Protocol:

Usage example:

// open connection
ws.open("ws://127.0.0.1:8080/views/wsView", function(err, socket) {
if (err) { ... }
// send
ws.send(socket, {
foo: 42
}, function(err, resp) {
if (err) { ... }
console.log(resp);
});
// subscribe for broadcast
ws.subscribe(socket, "myTopic", function(err, msg) {
if (err) { ... }
console.log(msg);
});
// close
// ws.close(socket);
});

Function Documentation

Undefined web_wsClient::close ( Object  socket)

Closes WebSocket connection.

Parameters
socketObject Socket previously opened with open()
Returns
Undefined
Undefined web_wsClient::isOpen ( Object  socket)

Checks whether WebSocket connection is not in 'CLOSED' or 'CLOSING' state.

Parameters
socketObject Socket previously opened with open()
Returns
Undefined
Undefined web_wsClient::open ( String  url,
Object|Undefined  options,
Function|Undefined  callback 
)

Opens WebSocket connection to server, calls callback on connection established or on timeout.

Parameters
urlString URL of the WebSocket server
optionsObject|Undefined configuration object, see possible options below
callbackFunction|Undefined callback to receive opened Socket or error
Returns
Undefined

Options

  • idGenerator Function|Undefined function that generates unique ID's for WS messages, default value: UUID generator
  • logger Function|Undefined function that is called with a wrapped WS message for each outgoing and incoming message, default value: console.log()
  • onError Function|Undefined function that is called with error message or event object on communication error, default value: console.error()
  • timeoutMillis Number|Undefined timeout in milliseconds awaiting for a server response to WS message, default value: 10000
Undefined web_wsClient::send ( Object  socket,
Object|Array|String  message,
Function|Undefined  callback 
)

Sends message to WebSocket server, calls specified callback with a server response or on timeout

Parameters
socketObject Socket previously opened with open()
messageObject|Array|String message payload that is passed to server
callbackFunction|Undefined callback to receive response or error
Returns
Undefined
Undefined web_wsClient::subscribe ( Object  socket,
String  topic,
Function  callback 
)

Subscribes to broadcasts from WebSocket server, callback is called for each message that is broadcasted for the specified topic.

Parameters
socketObject Socket previously opened with open()
topicString topic name to recive broadcast on
callbackFunction callback to receive broadcasted message or error
Returns
Undefined