Deployed d81e4d4 with MkDocs version: 1.1

This commit is contained in:
2020-04-01 01:37:22 +00:00
parent 042301a0db
commit 39caac8a14
70 changed files with 6539 additions and 9468 deletions

View File

@ -1,132 +1,584 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="lang:clipboard.copy" content="Copy to clipboard">
<meta name="lang:clipboard.copied" content="Copied to clipboard">
<meta name="lang:search.language" content="en">
<meta name="lang:search.pipeline.stopwords" content="True">
<meta name="lang:search.pipeline.trimmer" content="True">
<meta name="lang:search.result.none" content="No matching documents">
<meta name="lang:search.result.one" content="1 matching document">
<meta name="lang:search.result.other" content="# matching documents">
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link rel="shortcut icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.1, mkdocs-material-4.6.3">
<title>Examples - IXWebSocket</title>
<link href="../css/bootstrap.min.css" rel="stylesheet">
<link href="../css/font-awesome.min.css" rel="stylesheet">
<link href="../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css">
<script src="../js/jquery-1.10.2.min.js" defer></script>
<script src="../js/bootstrap.min.js" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</head>
<body>
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="..">IXWebSocket</a>
<!-- Expander button -->
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Expanded navigation -->
<div id="navbar-collapse" class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li class="navitem">
<a href=".." class="nav-link">Home</a>
</li>
<li class="navitem">
<a href="../CHANGELOG/" class="nav-link">Changelog</a>
</li>
<li class="navitem">
<a href="../build/" class="nav-link">Build</a>
</li>
<li class="navitem">
<a href="../cobra/" class="nav-link">Cobra</a>
</li>
<li class="navitem">
<a href="../design/" class="nav-link">Design</a>
</li>
<li class="navitem">
<a href="../packages/" class="nav-link">Packages</a>
</li>
<li class="navitem active">
<a href="./" class="nav-link">Examples</a>
</li>
<li class="navitem">
<a href="../ws/" class="nav-link">Ws</a>
</li>
</ul>
<ul class="nav navbar-nav ml-auto">
<li class="nav-item">
<a href="#" class="nav-link" data-toggle="modal" data-target="#mkdocs_search_modal">
<i class="fa fa-search"></i> Search
</a>
</li>
<li class="nav-item">
<a rel="prev" href="../packages/" class="nav-link">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li class="nav-item">
<a rel="next" href="../ws/" class="nav-link">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
</ul>
</div>
</div>
<link rel="stylesheet" href="../assets/stylesheets/application.adb8469c.css">
<script src="../assets/javascripts/modernizr.86422ebf.js"></script>
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
<link rel="stylesheet" href="../assets/fonts/material-icons.css">
</head>
<body dir="ltr">
<svg class="md-svg">
<defs>
</defs>
</svg>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
<a href="#examples" tabindex="0" class="md-skip">
Skip to content
</a>
<header class="md-header" data-md-component="header">
<nav class="md-header-nav md-grid">
<div class="md-flex">
<div class="md-flex__cell md-flex__cell--shrink">
<a href=".." title="IXWebSocket" aria-label="IXWebSocket" class="md-header-nav__button md-logo">
<i class="md-icon"></i>
</a>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
</div>
<div class="md-flex__cell md-flex__cell--stretch">
<div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
<span class="md-header-nav__topic">
IXWebSocket
</span>
<span class="md-header-nav__topic">
Examples
</span>
</div>
<div class="container">
<div class="row">
<div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
<div class="navbar-header">
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents">
<span class="fa fa-angle-down"></span>
</button>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" aria-label="search" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
<label class="md-icon md-search__icon" for="__search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
&#xE5CD;
</button>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="result">
<div class="md-search-result__meta">
Type to start searching
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container">
<main class="md-main" role="main">
<div class="md-main__inner md-grid" data-md-component="container">
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer">
<a href=".." title="IXWebSocket" class="md-nav__button md-logo">
<i class="md-icon"></i>
</a>
IXWebSocket
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." title="Home" class="md-nav__link">
Home
</a>
</li>
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
<ul class="nav flex-column">
<li class="nav-item" data-level="1"><a href="#examples" class="nav-link">Examples</a>
<ul class="nav flex-column">
<li class="nav-item" data-level="2"><a href="#windows-note" class="nav-link">Windows note</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#websocket-client-api" class="nav-link">WebSocket client API</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#websocket-server-api" class="nav-link">WebSocket server API</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#http-client-api" class="nav-link">HTTP client API</a>
<ul class="nav flex-column">
</ul>
</li>
<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>
</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>
</ul>
</li>
</ul>
</div>
</div></div>
<div class="col-md-9" role="main">
<h1 id="examples">Examples</h1>
<li class="md-nav__item">
<a href="../CHANGELOG/" title="Changelog" class="md-nav__link">
Changelog
</a>
</li>
<li class="md-nav__item">
<a href="../build/" title="Build" class="md-nav__link">
Build
</a>
</li>
<li class="md-nav__item">
<a href="../cobra/" title="Cobra" class="md-nav__link">
Cobra
</a>
</li>
<li class="md-nav__item">
<a href="../design/" title="Design" class="md-nav__link">
Design
</a>
</li>
<li class="md-nav__item">
<a href="../packages/" title="Packages" class="md-nav__link">
Packages
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Examples
</label>
<a href="./" title="Examples" class="md-nav__link md-nav__link--active">
Examples
</a>
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#windows-note" class="md-nav__link">
Windows note
</a>
</li>
<li class="md-nav__item">
<a href="#websocket-client-api" class="md-nav__link">
WebSocket client API
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#sending-messages" class="md-nav__link">
Sending messages
</a>
</li>
<li class="md-nav__item">
<a href="#readystate" class="md-nav__link">
ReadyState
</a>
</li>
<li class="md-nav__item">
<a href="#open-and-close-notifications" class="md-nav__link">
Open and Close notifications
</a>
</li>
<li class="md-nav__item">
<a href="#error-notification" class="md-nav__link">
Error notification
</a>
</li>
<li class="md-nav__item">
<a href="#start-stop" class="md-nav__link">
start, stop
</a>
</li>
<li class="md-nav__item">
<a href="#configuring-the-remote-url" class="md-nav__link">
Configuring the remote url
</a>
</li>
<li class="md-nav__item">
<a href="#pingpong-support" class="md-nav__link">
Ping/Pong support
</a>
</li>
<li class="md-nav__item">
<a href="#heartbeat" class="md-nav__link">
Heartbeat.
</a>
</li>
<li class="md-nav__item">
<a href="#supply-extra-http-headers" class="md-nav__link">
Supply extra HTTP headers.
</a>
</li>
<li class="md-nav__item">
<a href="#subprotocols" class="md-nav__link">
Subprotocols
</a>
</li>
<li class="md-nav__item">
<a href="#automatic-reconnection" class="md-nav__link">
Automatic reconnection
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#websocket-server-api" class="md-nav__link">
WebSocket server API
</a>
</li>
<li class="md-nav__item">
<a href="#http-client-api" class="md-nav__link">
HTTP client API
</a>
</li>
<li class="md-nav__item">
<a href="#http-server-api" class="md-nav__link">
HTTP server API
</a>
</li>
<li class="md-nav__item">
<a href="#tls-support-and-configuration" class="md-nav__link">
TLS support and configuration
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../ws/" title="Ws" class="md-nav__link">
Ws
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#windows-note" class="md-nav__link">
Windows note
</a>
</li>
<li class="md-nav__item">
<a href="#websocket-client-api" class="md-nav__link">
WebSocket client API
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#sending-messages" class="md-nav__link">
Sending messages
</a>
</li>
<li class="md-nav__item">
<a href="#readystate" class="md-nav__link">
ReadyState
</a>
</li>
<li class="md-nav__item">
<a href="#open-and-close-notifications" class="md-nav__link">
Open and Close notifications
</a>
</li>
<li class="md-nav__item">
<a href="#error-notification" class="md-nav__link">
Error notification
</a>
</li>
<li class="md-nav__item">
<a href="#start-stop" class="md-nav__link">
start, stop
</a>
</li>
<li class="md-nav__item">
<a href="#configuring-the-remote-url" class="md-nav__link">
Configuring the remote url
</a>
</li>
<li class="md-nav__item">
<a href="#pingpong-support" class="md-nav__link">
Ping/Pong support
</a>
</li>
<li class="md-nav__item">
<a href="#heartbeat" class="md-nav__link">
Heartbeat.
</a>
</li>
<li class="md-nav__item">
<a href="#supply-extra-http-headers" class="md-nav__link">
Supply extra HTTP headers.
</a>
</li>
<li class="md-nav__item">
<a href="#subprotocols" class="md-nav__link">
Subprotocols
</a>
</li>
<li class="md-nav__item">
<a href="#automatic-reconnection" class="md-nav__link">
Automatic reconnection
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#websocket-server-api" class="md-nav__link">
WebSocket server API
</a>
</li>
<li class="md-nav__item">
<a href="#http-client-api" class="md-nav__link">
HTTP client API
</a>
</li>
<li class="md-nav__item">
<a href="#http-server-api" class="md-nav__link">
HTTP server API
</a>
</li>
<li class="md-nav__item">
<a href="#tls-support-and-configuration" class="md-nav__link">
TLS support and configuration
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content">
<article class="md-content__inner md-typeset">
<h1 id="examples">Examples</h1>
<p>The <a href="https://github.com/machinezone/IXWebSocket/tree/master/ws"><em>ws</em></a> folder countains many interactive programs for chat, <a href="https://github.com/machinezone/IXWebSocket/blob/master/ws/ws_send.cpp">file transfers</a>, <a href="https://github.com/machinezone/IXWebSocket/blob/master/ws/ws_http_client.cpp">curl like</a> http clients, demonstrating client and server usage.</p>
<h2 id="windows-note">Windows note</h2>
<p>To use the network system on Windows, you need to initialize it once with <em>WSAStartup()</em> and clean it up with <em>WSACleanup()</em>. We have helpers for that which you can use, see below. This init would typically take place in your main function.</p>
@ -156,7 +608,7 @@ webSocket.setUrl(url);
// Optional heart beat, sent every 45 seconds when there is not any traffic
// to make sure that load balancers do not kill an idle connection.
webSocket.setHeartBeatPeriod(45);
webSocket.setPingInterval(45);
// Per message deflate connection is enabled by default. You can tweak its parameters or disable it
webSocket.disablePerMessageDeflate();
@ -274,7 +726,7 @@ websocket.configure(url);
<p>You can configure an optional heart beat / keep-alive, sent every 45 seconds
when there is no any traffic to make sure that load balancers do not kill an
idle connection.</p>
<pre><code class="cpp">webSocket.setHeartBeatPeriod(45);
<pre><code class="cpp">webSocket.setPingInterval(45);
</code></pre>
<h3 id="supply-extra-http-headers">Supply extra HTTP headers.</h3>
@ -531,84 +983,81 @@ server.wait();
<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>
1. It must be signed by one of the trusted roots in the file</p>
<footer class="col-md-12">
<hr>
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
</footer>
<script>
var base_url = "..",
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
</script>
<script src="../js/base.js" defer></script>
<script src="../search/main.js" defer></script>
<div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="searchModalLabel">Search</h4>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
</div>
<div class="modal-body">
<p>
From here you can search these documents. Enter
your search terms below.
</p>
<form>
<div class="form-group">
<input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query" title="Type search term here">
</div>
</form>
<div id="mkdocs-search-results"></div>
</div>
<div class="modal-footer">
</div>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="../packages/" title="Packages" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Previous
</span>
Packages
</span>
</div>
</a>
<a href="../ws/" title="Ws" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Next
</span>
Ws
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
</div>
</a>
</nav>
</div>
</div><div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
</div>
<div class="modal-body">
<table class="table">
<thead>
<tr>
<th style="width: 20%;">Keys</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td class="help shortcut"><kbd>?</kbd></td>
<td>Open this help</td>
</tr>
<tr>
<td class="next shortcut"><kbd>n</kbd></td>
<td>Next page</td>
</tr>
<tr>
<td class="prev shortcut"><kbd>p</kbd></td>
<td>Previous page</td>
</tr>
<tr>
<td class="search shortcut"><kbd>s</kbd></td>
<td>Search</td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
</div>
</div>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-copyright">
powered by
<a href="https://www.mkdocs.org" target="_blank" rel="noopener">MkDocs</a>
and
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs</a>
</div>
</div>
</div>
</body>
</html>
</div>
</footer>
</div>
<script src="../assets/javascripts/application.c33a9706.js"></script>
<script>app.initialize({version:"1.1",url:{base:".."}})</script>
</body>
</html>