Deployed 49d1e84 with MkDocs version: 1.1
This commit is contained in:
parent
6c443ee5c5
commit
42f761cceb
@ -114,7 +114,7 @@
|
|||||||
</div></div>
|
</div></div>
|
||||||
<div class="col-md-9" role="main">
|
<div class="col-md-9" role="main">
|
||||||
|
|
||||||
<p><img alt="Alt text" src="https://travis-ci.org/machinezone/IXWebSocket.svg?branch=master" /></p>
|
<p><img alt="Build status" src="https://github.com/machinezone/IXWebSocket/workflows/unittest/badge.svg" /></p>
|
||||||
<h2 id="introduction">Introduction</h2>
|
<h2 id="introduction">Introduction</h2>
|
||||||
<p><a href="https://en.wikipedia.org/wiki/WebSocket"><em>WebSocket</em></a> is a computer communications protocol, providing full-duplex and bi-directionnal communication channels over a single TCP connection. <em>IXWebSocket</em> is a C++ library for client and server Websocket communication, and for client and server HTTP communication. <em>TLS</em> aka <em>SSL</em> is supported. The code is derived from <a href="https://github.com/dhbaird/easywsclient">easywsclient</a> and from the <a href="https://github.com/satori-com/satori-rtm-sdk-c">Satori C SDK</a>. It has been tested on the following platforms.</p>
|
<p><a href="https://en.wikipedia.org/wiki/WebSocket"><em>WebSocket</em></a> is a computer communications protocol, providing full-duplex and bi-directionnal communication channels over a single TCP connection. <em>IXWebSocket</em> is a C++ library for client and server Websocket communication, and for client and server HTTP communication. <em>TLS</em> aka <em>SSL</em> is supported. The code is derived from <a href="https://github.com/dhbaird/easywsclient">easywsclient</a> and from the <a href="https://github.com/satori-com/satori-rtm-sdk-c">Satori C SDK</a>. It has been tested on the following platforms.</p>
|
||||||
<ul>
|
<ul>
|
||||||
@ -240,5 +240,5 @@ webSocket.send("hello world");
|
|||||||
|
|
||||||
<!--
|
<!--
|
||||||
MkDocs version : 1.1
|
MkDocs version : 1.1
|
||||||
Build Date UTC : 2020-03-17 15:47:59
|
Build Date UTC : 2020-03-17 17:09:52
|
||||||
-->
|
-->
|
||||||
|
File diff suppressed because one or more lines are too long
BIN
sitemap.xml.gz
BIN
sitemap.xml.gz
Binary file not shown.
@ -111,6 +111,10 @@
|
|||||||
<li class="nav-item" data-level="2"><a href="#http-server-api" class="nav-link">HTTP server API</a>
|
<li class="nav-item" data-level="2"><a href="#http-server-api" class="nav-link">HTTP server API</a>
|
||||||
<ul class="nav flex-column">
|
<ul class="nav flex-column">
|
||||||
</ul>
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" data-level="2"><a href="#tls-support-and-configuration" class="nav-link">TLS support and configuration</a>
|
||||||
|
<ul class="nav flex-column">
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@ -322,29 +326,6 @@ Wait time(ms): 10000
|
|||||||
uint32_t m = webSocket.getMaxWaitBetweenReconnectionRetries();
|
uint32_t m = webSocket.getMaxWaitBetweenReconnectionRetries();
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
<h3 id="tls-support-and-configuration">TLS support and configuration</h3>
|
|
||||||
<p>To leverage TLS features, the library must be compiled with the option <code>USE_TLS=1</code>.</p>
|
|
||||||
<p>Then, secure sockets are automatically used when connecting to a <code>wss://*</code> url.</p>
|
|
||||||
<p>Additional TLS options can be configured by passing a <code>ix::SocketTLSOptions</code> instance to the
|
|
||||||
<code>setTLSOptions</code> on <code>ix::WebSocket</code> (or <code>ix::WebSocketServer</code> or <code>ix::HttpServer</code>)</p>
|
|
||||||
<pre><code class="cpp">webSocket.setTLSOptions({
|
|
||||||
.certFile = "path/to/cert/file.pem",
|
|
||||||
.keyFile = "path/to/key/file.pem",
|
|
||||||
.caFile = "path/to/trust/bundle/file.pem",
|
|
||||||
.tls = true // required in server mode
|
|
||||||
});
|
|
||||||
</code></pre>
|
|
||||||
|
|
||||||
<p>Specifying <code>certFile</code> and <code>keyFile</code> configures the certificate that will be used to communicate with TLS peers.</p>
|
|
||||||
<p>On a client, this is only necessary for connecting to servers that require a client certificate.</p>
|
|
||||||
<p>On a server, this is necessary for TLS support.</p>
|
|
||||||
<p>Specifying <code>caFile</code> configures the trusted roots bundle file (in PEM format) that will be used to verify peer certificates.
|
|
||||||
- The special value of <code>SYSTEM</code> (the default) indicates that the system-configured trust bundle should be used; this is generally what you want when connecting to any publicly exposed API/server.
|
|
||||||
- The special value of <code>NONE</code> can be used to disable peer verification; this is only recommended to rule out certificate verification when testing connectivity.</p>
|
|
||||||
<p>For a client, specifying <code>caFile</code> can be used if connecting to a server that uses a self-signed cert, or when using a custom CA in an internal environment.</p>
|
|
||||||
<p>For a server, specifying <code>caFile</code> implies that:
|
|
||||||
1. You require clients to present a certificate
|
|
||||||
1. It must be signed by one of the trusted roots in the file</p>
|
|
||||||
<h2 id="websocket-server-api">WebSocket server API</h2>
|
<h2 id="websocket-server-api">WebSocket server API</h2>
|
||||||
<pre><code class="cpp">#include <ixwebsocket/IXWebSocketServer.h>
|
<pre><code class="cpp">#include <ixwebsocket/IXWebSocketServer.h>
|
||||||
|
|
||||||
@ -523,7 +504,31 @@ server.wait();
|
|||||||
WebSocketHttpHeaders(),
|
WebSocketHttpHeaders(),
|
||||||
content);
|
content);
|
||||||
}
|
}
|
||||||
</code></pre></div>
|
</code></pre>
|
||||||
|
|
||||||
|
<h2 id="tls-support-and-configuration">TLS support and configuration</h2>
|
||||||
|
<p>To leverage TLS features, the library must be compiled with the option <code>USE_TLS=1</code>.</p>
|
||||||
|
<p>Then, secure sockets are automatically used when connecting to a <code>wss://*</code> url.</p>
|
||||||
|
<p>Additional TLS options can be configured by passing a <code>ix::SocketTLSOptions</code> instance to the
|
||||||
|
<code>setTLSOptions</code> on <code>ix::WebSocket</code> (or <code>ix::WebSocketServer</code> or <code>ix::HttpServer</code>)</p>
|
||||||
|
<pre><code class="cpp">webSocket.setTLSOptions({
|
||||||
|
.certFile = "path/to/cert/file.pem",
|
||||||
|
.keyFile = "path/to/key/file.pem",
|
||||||
|
.caFile = "path/to/trust/bundle/file.pem",
|
||||||
|
.tls = true // required in server mode
|
||||||
|
});
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>Specifying <code>certFile</code> and <code>keyFile</code> configures the certificate that will be used to communicate with TLS peers.</p>
|
||||||
|
<p>On a client, this is only necessary for connecting to servers that require a client certificate.</p>
|
||||||
|
<p>On a server, this is necessary for TLS support.</p>
|
||||||
|
<p>Specifying <code>caFile</code> configures the trusted roots bundle file (in PEM format) that will be used to verify peer certificates.
|
||||||
|
- The special value of <code>SYSTEM</code> (the default) indicates that the system-configured trust bundle should be used; this is generally what you want when connecting to any publicly exposed API/server.
|
||||||
|
- The special value of <code>NONE</code> can be used to disable peer verification; this is only recommended to rule out certificate verification when testing connectivity.</p>
|
||||||
|
<p>For a client, specifying <code>caFile</code> can be used if connecting to a server that uses a self-signed cert, or when using a custom CA in an internal environment.</p>
|
||||||
|
<p>For a server, specifying <code>caFile</code> implies that:
|
||||||
|
1. You require clients to present a certificate
|
||||||
|
1. It must be signed by one of the trusted roots in the file</p></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user