mirror of
				https://github.com/espressif/esp-protocols.git
				synced 2025-11-04 00:21:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			212 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html class="writer-html5" lang="en" >
 | 
						|
<head>
 | 
						|
  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
 | 
						|
 | 
						|
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
						|
  <title>ASIO port - ESP32 -  — ESP-Protocols latest documentation</title>
 | 
						|
      <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
 | 
						|
      <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
 | 
						|
      <link rel="stylesheet" href="_static/copybutton.css" type="text/css" />
 | 
						|
      <link rel="stylesheet" href="_static/theme_overrides.css" type="text/css" />
 | 
						|
  <!--[if lt IE 9]>
 | 
						|
    <script src="_static/js/html5shiv.min.js"></script>
 | 
						|
  <![endif]-->
 | 
						|
  
 | 
						|
        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 | 
						|
        <script src="_static/jquery.js"></script>
 | 
						|
        <script src="_static/underscore.js"></script>
 | 
						|
        <script src="_static/doctools.js"></script>
 | 
						|
        <script src="_static/clipboard.min.js"></script>
 | 
						|
        <script src="_static/copybutton.js"></script>
 | 
						|
    <script src="_static/js/theme.js"></script>
 | 
						|
 | 
						|
    
 | 
						|
        
 | 
						|
 | 
						|
    <script type="text/javascript">
 | 
						|
        DOCUMENTATION_OPTIONS.PAGENAME = 'index';
 | 
						|
        DOCUMENTATION_OPTIONS.PROJECT_SLUG = 'esp-idf';
 | 
						|
        DOCUMENTATION_OPTIONS.LATEST_BRANCH_NAME = 'master';
 | 
						|
        DOCUMENTATION_OPTIONS.VERSIONS_URL = 'https://github.com/espressif/esp-protocols/docs/docs_versions.js';
 | 
						|
        DOCUMENTATION_OPTIONS.LANGUAGES = ["en", "zh_CN"];
 | 
						|
        DOCUMENTATION_OPTIONS.IDF_TARGET = 'esp32';
 | 
						|
        DOCUMENTATION_OPTIONS.HAS_IDF_TARGETS = ["esp32"]
 | 
						|
        DOCUMENTATION_OPTIONS.RELEASE = 'latest';
 | 
						|
    </script>
 | 
						|
 | 
						|
    <script type="text/javascript" src="https://github.com/espressif/esp-protocols/docs/docs_versions.js"></script>
 | 
						|
    <link rel="index" title="Index" href="genindex.html" />
 | 
						|
    <link rel="search" title="Search" href="search.html" /> 
 | 
						|
</head>
 | 
						|
 | 
						|
<body class="wy-body-for-nav"> 
 | 
						|
  <div class="wy-grid-for-nav">
 | 
						|
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
 | 
						|
      <div class="wy-side-scroll">
 | 
						|
        <div class="wy-side-nav-search" >
 | 
						|
            <a href="#" class="icon icon-home"> ESP-Protocols
 | 
						|
            <img src="_static/espressif-logo.svg" class="logo" alt="Logo"/>
 | 
						|
          </a>
 | 
						|
 | 
						|
          
 | 
						|
            <div class="selectors">
 | 
						|
              <select id="target-select" style="width: 150px;" hidden>
 | 
						|
                <option value="" disabled selected>Choose target...</option>
 | 
						|
              </select>
 | 
						|
            </div>
 | 
						|
          
 | 
						|
 | 
						|
          <div class="selectors">
 | 
						|
            <select id="version-select" style="width: 150px;" hidden>
 | 
						|
              <option value="" disabled selected>Choose version...</option>
 | 
						|
            </select>
 | 
						|
          </div>
 | 
						|
 | 
						|
          
 | 
						|
<div role="search">
 | 
						|
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
 | 
						|
    <input type="text" name="q" placeholder="Search docs" />
 | 
						|
    <input type="hidden" name="check_keywords" value="yes" />
 | 
						|
    <input type="hidden" name="area" value="default" />
 | 
						|
  </form>
 | 
						|
</div>
 | 
						|
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
 | 
						|
              <!-- Local TOC -->
 | 
						|
              <div class="local-toc"><ul>
 | 
						|
<li><a class="reference internal" href="#">ASIO port</a><ul>
 | 
						|
<li><a class="reference internal" href="#overview">Overview</a><ul>
 | 
						|
<li><a class="reference internal" href="#asio-documentation">ASIO documentation</a></li>
 | 
						|
<li><a class="reference internal" href="#supported-features">Supported features</a></li>
 | 
						|
</ul>
 | 
						|
</li>
 | 
						|
<li><a class="reference internal" href="#application-example">Application Example</a></li>
 | 
						|
</ul>
 | 
						|
</li>
 | 
						|
</ul>
 | 
						|
</div>
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
    </nav>
 | 
						|
 | 
						|
    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
 | 
						|
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
 | 
						|
          <a href="#">ESP-Protocols</a>
 | 
						|
      </nav>
 | 
						|
 | 
						|
      <div class="wy-nav-content">
 | 
						|
        <div class="rst-content">
 | 
						|
          <div role="navigation" aria-label="Page navigation">
 | 
						|
  <ul class="wy-breadcrumbs">
 | 
						|
      <li><a href="#" class="icon icon-home"></a> »</li>
 | 
						|
      <li>ASIO port</li>
 | 
						|
      <li class="wy-breadcrumbs-aside">
 | 
						|
              <a href="https://github.com/espressif/esp-protocols/blob/a838af4/docs/en/index.rst" class="fa fa-github"> Edit on GitHub</a>
 | 
						|
      </li>
 | 
						|
  </ul>
 | 
						|
  <hr/>
 | 
						|
</div>
 | 
						|
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
 | 
						|
           <div itemprop="articleBody">
 | 
						|
             
 | 
						|
  <section id="asio-port">
 | 
						|
<h1>ASIO port<a class="headerlink" href="#asio-port" title="Permalink to this headline"></a></h1>
 | 
						|
<section id="overview">
 | 
						|
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h2>
 | 
						|
<p>Asio is a cross-platform C++ library, see <a class="reference external" href="https://think-async.com/Asio/">https://think-async.com/Asio/</a>. It provides a consistent asynchronous model using a modern C++ approach.</p>
 | 
						|
<section id="asio-documentation">
 | 
						|
<h3>ASIO documentation<a class="headerlink" href="#asio-documentation" title="Permalink to this headline"></a></h3>
 | 
						|
<p>Please refer to the original asio documentation at <a class="reference external" href="https://think-async.com/Asio/Documentation">https://think-async.com/Asio/Documentation</a>.
 | 
						|
Asio also comes with a number of examples which could be find under Documentation/Examples on that web site.</p>
 | 
						|
</section>
 | 
						|
<section id="supported-features">
 | 
						|
<h3>Supported features<a class="headerlink" href="#supported-features" title="Permalink to this headline"></a></h3>
 | 
						|
<p>ESP platform port currently supports only network asynchronous socket operations; does not support serial port.
 | 
						|
SSL/TLS support is disabled by default and could be enabled in component configuration menu by choosing TLS library from</p>
 | 
						|
<ul class="simple">
 | 
						|
<li><p>mbedTLS with OpenSSL translation layer (default option)</p></li>
 | 
						|
<li><p>wolfSSL</p></li>
 | 
						|
</ul>
 | 
						|
<p>SSL support is very basic at this stage and it does include following features:</p>
 | 
						|
<ul class="simple">
 | 
						|
<li><p>Verification callbacks</p></li>
 | 
						|
<li><p>DH property files</p></li>
 | 
						|
<li><p>Certificates/private keys file APIs</p></li>
 | 
						|
</ul>
 | 
						|
<p>Internal asio settings for ESP include</p>
 | 
						|
<ul class="simple">
 | 
						|
<li><p>EXCEPTIONS are enabled in ASIO if enabled in menuconfig</p></li>
 | 
						|
<li><p>TYPEID is enabled in ASIO if enabled in menuconfig</p></li>
 | 
						|
</ul>
 | 
						|
</section>
 | 
						|
</section>
 | 
						|
<section id="application-example">
 | 
						|
<h2>Application Example<a class="headerlink" href="#application-example" title="Permalink to this headline"></a></h2>
 | 
						|
<p>ESP examples are based on standard asio <a class="reference external" href="https://github.com/espressif/esp-protocols/tree/a838af4/examples/../examples">examples </a>:</p>
 | 
						|
<ul class="simple">
 | 
						|
<li><p><a class="reference external" href="https://github.com/espressif/esp-protocols/tree/a838af4/examples/../examples/udp_echo_server">udp_echo_server </a></p></li>
 | 
						|
<li><p><a class="reference external" href="https://github.com/espressif/esp-protocols/tree/a838af4/examples/../examples/tcp_echo_server">tcp_echo_server </a></p></li>
 | 
						|
<li><p><a class="reference external" href="https://github.com/espressif/esp-protocols/tree/a838af4/examples/../examples/asio_chat">asio_chat </a></p></li>
 | 
						|
<li><p><a class="reference external" href="https://github.com/espressif/esp-protocols/tree/a838af4/examples/../examples/ssl_client_server">ssl_client_server </a></p></li>
 | 
						|
</ul>
 | 
						|
<p>Please refer to the specific example README.md for details</p>
 | 
						|
</section>
 | 
						|
</section>
 | 
						|
 | 
						|
 | 
						|
           </div>
 | 
						|
          </div>
 | 
						|
          <footer>
 | 
						|
 | 
						|
  <hr/>
 | 
						|
 | 
						|
  <div role="contentinfo">
 | 
						|
    <p>© Copyright 2016 - 2022, Espressif Systems (Shanghai) Co., Ltd.</p>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <ul class="footer">
 | 
						|
        <li>
 | 
						|
	    
 | 
						|
            
 | 
						|
            Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/espressif/sphinx_idf_theme">theme</a>  based on <a href="https://github.com/readthedocs/sphinx_rtd_theme">Read the Docs Sphinx Theme</a>.
 | 
						|
         </li>
 | 
						|
    <li class="footer-aside">
 | 
						|
        <a href="./esp-idf-en-master-esp32.pdf" class="fa fa-file-pdf-o"> Download PDF</a>
 | 
						|
    </li>
 | 
						|
 | 
						|
  </ul> 
 | 
						|
 | 
						|
</footer>
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
    </section>
 | 
						|
  </div>
 | 
						|
 | 
						|
  <script>
 | 
						|
      jQuery(function () {
 | 
						|
          SphinxRtdTheme.Navigation.enable(true);
 | 
						|
      });
 | 
						|
  </script> 
 | 
						|
 | 
						|
</body>
 | 
						|
</html><script type=text/javascript>
 | 
						|
window.onload =(function() {
 | 
						|
    var myAnchor = document.getElementById('version-select');
 | 
						|
    var mySpan = document.createElement('input');
 | 
						|
    mySpan.setAttribute('type', 'text');
 | 
						|
    mySpan.setAttribute('maxLength', '10');
 | 
						|
    mySpan.value = 'latest';
 | 
						|
    mySpan.setAttribute('disabled', true);
 | 
						|
    myAnchor.parentNode.replaceChild(mySpan, myAnchor);
 | 
						|
 | 
						|
    var myAnchor = document.getElementById('target-select');
 | 
						|
    var mySpan = document.createElement('input');
 | 
						|
    mySpan.setAttribute('type', 'text');
 | 
						|
    mySpan.setAttribute('maxLength', '10');
 | 
						|
    mySpan.value = 'all targets';
 | 
						|
    mySpan.setAttribute('disabled', true);
 | 
						|
    myAnchor.parentNode.replaceChild(mySpan, myAnchor);
 | 
						|
 | 
						|
})();
 | 
						|
</script>
 |