| nn_ws(7) |
| ======== |
| |
| NAME |
| ---- |
| nn_ws - WebSocket transport mechanism |
| |
| |
| SYNOPSIS |
| -------- |
| *#include <nanomsg/nn.h>* |
| |
| *#include <nanomsg/ws.h>* |
| |
| |
| DESCRIPTION |
| ----------- |
| |
| THIS IS AN EXPERIMENTAL FEATURE. DO NOT USE. |
| THE FUNCTIONALITY IS SUBJECT TO CHANGE WITHOUT PRIOR NOTICE. |
| |
| When calling either `nn_bind()` or `nn_connect()`, omitting the port defaults |
| to the RFC 6455 default port 80 for HTTP. Example: |
| |
| ws://127.0.0.1 is equivalent to ws://127.0.0.1:80 |
| |
| Connecting to an Arbitrary WebSocket Service |
| -------------------------------------------- |
| When calling `nn_connect()`, the URI may also optionally include the path to a |
| resource and/or query parameters. |
| |
| _Example_ |
| s1 = nn_socket (AF_SP, NN_PAIR); |
| nn_connect (s1, "ws://example.com/path?query=value"); |
| |
| This extended URI may help in situations with service protocol requirements, or |
| routing through existing HTTP infrastructure such as reverse proxies. The URI |
| is effectively only useful for routing and establishing the connection with |
| non-nanomsg services. Once established, this additional information is not |
| available via the nanomsg API. |
| |
| The spirit of these extended URIs is to enable interoperability with existing |
| services and infrastructure, and not necessarily to give nanomsg connections a |
| new means of controlling the opening handshake. |
| |
| A nanomsg socket accepting connections after calling `nn_bind()` does not use |
| this additional path or query parameters, except for incidentally satisfying any |
| intermediate HTTP infrastructure used to route the connection to the nanomsg |
| socket accepting connections. |
| |
| |
| Socket Options |
| ~~~~~~~~~~~~~~ |
| |
| TODO: NN_TCP_NODELAY:: |
| This option, when set to 1, disables Nagle's algorithm. It also disables |
| delaying of TCP acknowledgments. Using this option improves latency at |
| the expense of throughput. Type of this option is int. Default value is 0. |
| |
| |
| EXAMPLE |
| ------- |
| |
| ---- |
| nn_bind (s1, "ws://*:5555"); |
| nn_connect (s2, "ws://myserver:5555"); |
| ---- |
| |
| SEE ALSO |
| -------- |
| linknanomsg:nn_tcp[7] |
| linknanomsg:nn_inproc[7] |
| linknanomsg:nn_ipc[7] |
| linknanomsg:nn_bind[3] |
| linknanomsg:nn_connect[3] |
| linknanomsg:nanomsg[7] |
| |
| |
| AUTHORS |
| ------- |
| Martin Sustrik <sustrik@250bpm.com> |
| Jack R. Dunaway <jack@wirebirdlabs.com> |