CINXE.COM
gevent._socket3 – Python 3 socket module - gevent 24.11.2.dev0 documentation
<!doctype html> <html class="no-js" lang="en" data-content_root="../"> <head><meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1"/> <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="gevent.ssl – Secure Sockets Layer (SSL/TLS) module" href="gevent.ssl.html" /><link rel="prev" title="gevent.socket – Cooperative low-level networking interface" href="gevent.socket.html" /> <!-- Generated with Sphinx 8.1.3 and Furo 2024.08.06 --> <title>gevent._socket3 – Python 3 socket module - gevent 24.11.2.dev0 documentation</title> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a3258c64" /> <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=354aac6f" /> <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=302659d7" /> <link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e405f49d" /> <style> body { --color-code-background: #eeeedd; --color-code-foreground: black; --color-brand-primary: #7c9a5e; --color-brand-content: #7c9a5e; --color-foreground-border: #b7d897; --font-stack: "SF Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; --font-stack--monospace: "JetBrainsMono", "JetBrains Mono", "JetBrains Mono Regular", "JetBrainsMono-Regular", ui-monospace, profont, monospace; } @media not print { body[data-theme="dark"] { --color-code-background: #202020; --color-code-foreground: #d0d0d0; } @media (prefers-color-scheme: dark) { body:not([data-theme="light"]) { --color-code-background: #202020; --color-code-foreground: #d0d0d0; } } } </style><script async type="text/javascript" src="/_/static/javascript/readthedocs-addons.js"></script><meta name="readthedocs-project-slug" content="python-gevent" /><meta name="readthedocs-version-slug" content="latest" /><meta name="readthedocs-resolver-filename" content="/api/gevent._socket3.html" /><meta name="readthedocs-http-status" content="200" /></head> <body> <script> document.body.dataset.theme = localStorage.getItem("theme") || "auto"; </script> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <symbol id="svg-toc" viewBox="0 0 24 24"> <title>Contents</title> <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024"> <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line> <line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <symbol id="svg-sun" viewBox="0 0 24 24"> <title>Light mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> <circle cx="12" cy="12" r="5"></circle> <line x1="12" y1="1" x2="12" y2="3"></line> <line x1="12" y1="21" x2="12" y2="23"></line> <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line> <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line> <line x1="1" y1="12" x2="3" y2="12"></line> <line x1="21" y1="12" x2="23" y2="12"></line> <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> </svg> </symbol> <symbol id="svg-moon" viewBox="0 0 24 24"> <title>Dark mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" /> </svg> </symbol> <symbol id="svg-sun-with-moon" viewBox="0 0 24 24"> <title>Auto light/dark, in light mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-custom-derived-from-feather-sun-and-tabler-moon"> <path style="opacity: 50%" d="M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"/> <line x1="14.5" y1="3.25" x2="14.5" y2="1.25"/> <line x1="14.5" y1="15.85" x2="14.5" y2="17.85"/> <line x1="10.044" y1="5.094" x2="8.63" y2="3.68"/> <line x1="19" y1="14.05" x2="20.414" y2="15.464"/> <line x1="8.2" y1="9.55" x2="6.2" y2="9.55"/> <line x1="20.8" y1="9.55" x2="22.8" y2="9.55"/> <line x1="10.044" y1="14.006" x2="8.63" y2="15.42"/> <line x1="19" y1="5.05" x2="20.414" y2="3.636"/> <circle cx="14.5" cy="9.55" r="3.6"/> </svg> </symbol> <symbol id="svg-moon-with-sun" viewBox="0 0 24 24"> <title>Auto light/dark, in dark mode</title> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-custom-derived-from-feather-sun-and-tabler-moon"> <path d="M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"/> <line style="opacity: 50%" x1="18" y1="3.705" x2="18" y2="2.5"/> <line style="opacity: 50%" x1="18" y1="11.295" x2="18" y2="12.5"/> <line style="opacity: 50%" x1="15.316" y1="4.816" x2="14.464" y2="3.964"/> <line style="opacity: 50%" x1="20.711" y1="10.212" x2="21.563" y2="11.063"/> <line style="opacity: 50%" x1="14.205" y1="7.5" x2="13.001" y2="7.5"/> <line style="opacity: 50%" x1="21.795" y1="7.5" x2="23" y2="7.5"/> <line style="opacity: 50%" x1="15.316" y1="10.184" x2="14.464" y2="11.036"/> <line style="opacity: 50%" x1="20.711" y1="4.789" x2="21.563" y2="3.937"/> <circle style="opacity: 50%" cx="18" cy="7.5" r="2.169"/> </svg> </symbol> <symbol id="svg-pencil" viewBox="0 0 24 24"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-pencil-code"> <path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" /> <path d="M13.5 6.5l4 4" /> <path d="M20 21l2 -2l-2 -2" /> <path d="M17 17l-2 2l2 2" /> </svg> </symbol> <symbol id="svg-eye" viewBox="0 0 24 24"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-eye-code"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" /> <path d="M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" /> <path d="M20 21l2 -2l-2 -2" /> <path d="M17 17l-2 2l2 2" /> </svg> </symbol> </svg> <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation"> <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc"> <label class="overlay sidebar-overlay" for="__navigation"> <div class="visually-hidden">Hide navigation sidebar</div> </label> <label class="overlay toc-overlay" for="__toc"> <div class="visually-hidden">Hide table of contents sidebar</div> </label> <a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a> <div class="page"> <header class="mobile-header"> <div class="header-left"> <label class="nav-overlay-icon" for="__navigation"> <div class="visually-hidden">Toggle site navigation sidebar</div> <i class="icon"><svg><use href="#svg-menu"></use></svg></i> </label> </div> <div class="header-center"> <a href="../contents.html"><div class="brand">gevent 24.11.2.dev0 documentation</div></a> </div> <div class="header-right"> <div class="theme-toggle-container theme-toggle-header"> <button class="theme-toggle"> <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg> <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg> <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> </button> </div> <label class="toc-overlay-icon toc-header-icon" for="__toc"> <div class="visually-hidden">Toggle table of contents sidebar</div> <i class="icon"><svg><use href="#svg-toc"></use></svg></i> </label> </div> </header> <aside class="sidebar-drawer"> <div class="sidebar-container"> <div class="sidebar-sticky"><a class="sidebar-brand" href="../contents.html"> <div class="sidebar-logo-container"> <img class="sidebar-logo" src="../_static/5564530.png" alt="Logo"/> </div> </a><form class="sidebar-search-container" method="get" action="../search.html" role="search"> <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search"> <input type="hidden" name="check_keywords" value="yes"> <input type="hidden" name="area" value="default"> </form> <div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree"> <ul> <li class="toctree-l1"><a class="reference internal" href="../install.html">Installation and Requirements</a></li> <li class="toctree-l1 has-children"><a class="reference internal" href="../changelog.html">Changelog</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Changelog</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_5.html">Changes for 1.5</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_4.html">Changes for 1.4</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_3.html">Changes for 1.3</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_2.html">Changes for 1.2</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_1.html">Changes for 1.1</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_0.html">Changes for 1.0</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_pre.html">Changes before gevent 1.0</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../intro.html">Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="gevent.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent</span></code> – common functions</a></li> <li class="toctree-l1"><a class="reference internal" href="gevent.greenlet.html">Greenlet Objects</a></li> <li class="toctree-l1"><a class="reference internal" href="../servers.html">Implementing servers</a></li> <li class="toctree-l1 has-children"><a class="reference internal" href="../dns.html">Name Resolution (DNS)</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Name Resolution (DNS)</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l2"><a class="reference internal" href="gevent.resolver.thread.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.thread</span></code> – thread based hostname resolver</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.resolver.ares.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.ares</span></code> – c-ares based hostname resolver</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.resolver.dnspython.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.dnspython</span></code> – Pure Python hostname resolver</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.resolver.blocking.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.blocking</span></code> – Non-cooperative resolver</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../monitoring.html">Monitoring and Debugging gevent Applications</a></li> <li class="toctree-l1"><a class="reference internal" href="../loop_impls.html">Event Loop Implementations: libuv and libev</a></li> <li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuring gevent</a></li> </ul> <ul class="current"> <li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">API reference</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><div class="visually-hidden">Toggle navigation of API reference</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="gevent.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent</span></code> – common functions</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.timeout.html">Cooperative Timeouts Using <code class="docutils literal notranslate"><span class="pre">gevent.Timeout</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.greenlet.html">Greenlet Objects</a></li> <li class="toctree-l2 current has-children"><a class="reference internal" href="gevent.socket.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.socket</span></code> – Cooperative low-level networking interface</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><div class="visually-hidden">Toggle navigation of gevent.socket – Cooperative low-level networking interface</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current"> <li class="toctree-l3 current"><a class="current reference internal" href="#">Python 3 interface</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="gevent.ssl.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.ssl</span></code> – Secure Sockets Layer (SSL/TLS) module</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.select.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.select</span></code> – Waiting for I/O completion</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.selectors.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.selectors</span></code> – High-level IO Multiplexing</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.event.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.event</span></code> – Notifications of multiple listeners</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.queue.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.queue</span></code> – Synchronized queues</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.local.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.local</span></code> – Greenlet-local objects</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.lock.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.lock</span></code> – Locking primitives</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.hub.html"><code class="docutils literal notranslate"><span class="pre">gevent.hub</span></code> - The Event Loop and the Hub</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.core.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.core</span></code> - (deprecated) event loop abstraction</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent</span></code> – common functions</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.backdoor.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.backdoor</span></code> – Interactive greenlet-based network console that can be used in any process</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.baseserver.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.baseserver</span></code> – Base class for implementing servers</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.builtins.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.builtins</span></code> – gevent friendly implementations of builtin functions</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.contextvars.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.contextvars</span></code> – Cooperative <code class="docutils literal notranslate"><span class="pre">contextvars</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.core.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.core</span></code> - (deprecated) event loop abstraction</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.event.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.event</span></code> – Notifications of multiple listeners</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.events.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.events</span></code> – Publish/subscribe event infrastructure</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.exceptions.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.exceptions</span></code> – Exceptions</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.fileobject.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.fileobject</span></code> – Wrappers to make file-like objects cooperative</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.hub.html"><code class="docutils literal notranslate"><span class="pre">gevent.hub</span></code> - The Event Loop and the Hub</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.local.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.local</span></code> – Greenlet-local objects</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.lock.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.lock</span></code> – Locking primitives</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.monkey.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.monkey</span></code> – Make the standard library cooperative</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.os.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.os</span></code> – Low-level operating system functions from <code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.pool.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.pool</span></code> – Managing greenlets in a group</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.pywsgi.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.pywsgi</span></code> – A pure-Python, gevent-friendly WSGI server</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.queue.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.queue</span></code> – Synchronized queues</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.resolver.ares.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.ares</span></code> – c-ares based hostname resolver</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.resolver.blocking.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.blocking</span></code> – Non-cooperative resolver</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.resolver.dnspython.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.dnspython</span></code> – Pure Python hostname resolver</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.resolver.thread.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.thread</span></code> – thread based hostname resolver</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.select.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.select</span></code> – Waiting for I/O completion</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.selectors.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.selectors</span></code> – High-level IO Multiplexing</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.server.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.server</span></code> – TCP/SSL server</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.signal.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.signal</span></code> – Cooperative implementation of special cases of <code class="xref py py-func docutils literal notranslate"><span class="pre">signal.signal()</span></code></a></li> <li class="toctree-l2 current has-children"><a class="reference internal" href="gevent.socket.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.socket</span></code> – Cooperative low-level networking interface</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><div class="visually-hidden">Toggle navigation of gevent.socket – Cooperative low-level networking interface</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current"> <li class="toctree-l3 current current-page"><a class="current reference internal" href="#">Python 3 interface</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="gevent.ssl.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.ssl</span></code> – Secure Sockets Layer (SSL/TLS) module</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.subprocess.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.subprocess</span></code> – Cooperative <code class="docutils literal notranslate"><span class="pre">subprocess</span></code> module</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.thread.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.thread</span></code> – Implementation of the standard <code class="xref py py-mod docutils literal notranslate"><span class="pre">thread</span></code> module that spawns greenlets</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.threading.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.threading</span></code> – Implementation of the standard <code class="xref py py-mod docutils literal notranslate"><span class="pre">threading</span></code> using greenlets</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.threadpool.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.threadpool</span></code> - A pool of native threads</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.time.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.time</span></code> – Makes <em>sleep</em> gevent aware</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.util.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.util</span></code> – Low-level utilities</a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.ares.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.ares</span></code> – Backwards compatibility alias for <code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.resolver.cares</span></code></a></li> <li class="toctree-l2"><a class="reference internal" href="gevent.wsgi.html"><code class="docutils literal notranslate"><span class="pre">gevent.wsgi</span></code> – Historical note only; does not exist</a></li> <li class="toctree-l2 has-children"><a class="reference internal" href="../examples/index.html">Examples</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><div class="visually-hidden">Toggle navigation of Examples</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../examples/concurrent_download.html">Example concurrent_download.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/dns_mass_resolve.html">Example dns_mass_resolve.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/echoserver.html">Example echoserver.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/geventsendfile.html">Example geventsendfile.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/portforwarder.html">Example portforwarder.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/processes.html">Example processes.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/psycopg2_pool.html">Example psycopg2_pool.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/threadpool.html">Example threadpool.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/udp_client.html">Example udp_client.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/udp_server.html">Example udp_server.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/unixsocket_client.html">Example unixsocket_client.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/unixsocket_server.html">Example unixsocket_server.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/webproxy.html">Example webproxy.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/webpy.html">Example webpy.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/wsgiserver.html">Example wsgiserver.py</a></li> <li class="toctree-l3"><a class="reference internal" href="../examples/wsgiserver_ssl.html">Example wsgiserver_ssl.py</a></li> </ul> </li> </ul> </li> </ul> <ul> <li class="toctree-l1 has-children"><a class="reference internal" href="../development/index.html">Development</a><input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" role="switch" type="checkbox"/><label for="toctree-checkbox-7"><div class="visually-hidden">Toggle navigation of Development</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l2"><a class="reference internal" href="../development/getting_started.html">Getting Started</a></li> <li class="toctree-l2"><a class="reference internal" href="../development/installing_from_source.html">Installing From Source</a></li> <li class="toctree-l2"><a class="reference internal" href="../development/running_tests.html">Running Tests</a></li> <li class="toctree-l2"><a class="reference internal" href="../development/ci.html">Continuous integration</a></li> <li class="toctree-l2"><a class="reference internal" href="../development/release_process.html">Release Process</a></li> </ul> </li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../success.html">Success stories</a></li> <li class="toctree-l1"><a class="reference internal" href="../community.html">Community</a></li> <li class="toctree-l1 has-children"><a class="reference internal" href="../older_releases.html">Information About Older Releases</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" role="switch" type="checkbox"/><label for="toctree-checkbox-8"><div class="visually-hidden">Toggle navigation of Information About Older Releases</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l2 has-children"><a class="reference internal" href="../whatsnew_1_5.html">What’s new in gevent 1.5</a><input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" role="switch" type="checkbox"/><label for="toctree-checkbox-9"><div class="visually-hidden">Toggle navigation of What’s new in gevent 1.5</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../changelog_1_5.html">Changes for 1.5</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../whatsnew_1_4.html">What’s new in gevent 1.4</a><input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" role="switch" type="checkbox"/><label for="toctree-checkbox-10"><div class="visually-hidden">Toggle navigation of What’s new in gevent 1.4</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../changelog_1_4.html">Changes for 1.4</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../whatsnew_1_3.html">What’s new in gevent 1.3</a><input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" role="switch" type="checkbox"/><label for="toctree-checkbox-11"><div class="visually-hidden">Toggle navigation of What’s new in gevent 1.3</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../changelog_1_3.html">Changes for 1.3</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../whatsnew_1_2.html">What’s new in gevent 1.2</a><input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" role="switch" type="checkbox"/><label for="toctree-checkbox-12"><div class="visually-hidden">Toggle navigation of What’s new in gevent 1.2</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../changelog_1_2.html">Changes for 1.2</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../whatsnew_1_1.html">What’s new in gevent 1.1</a><input class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" role="switch" type="checkbox"/><label for="toctree-checkbox-13"><div class="visually-hidden">Toggle navigation of What’s new in gevent 1.1</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../changelog_1_1.html">Changes for 1.1</a></li> </ul> </li> <li class="toctree-l2 has-children"><a class="reference internal" href="../whatsnew_1_0.html">What’s new in gevent 1.0</a><input class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" role="switch" type="checkbox"/><label for="toctree-checkbox-14"><div class="visually-hidden">Toggle navigation of What’s new in gevent 1.0</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul> <li class="toctree-l3"><a class="reference internal" href="../changelog_1_0.html">Changes for 1.0</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_5.html">Changes for 1.5</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_4.html">Changes for 1.4</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_3.html">Changes for 1.3</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_2.html">Changes for 1.2</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_1.html">Changes for 1.1</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_1_0.html">Changes for 1.0</a></li> <li class="toctree-l2"><a class="reference internal" href="../changelog_pre.html">Changes before gevent 1.0</a></li> </ul> </li> </ul> </div> </div> </div> </div> </aside> <div class="main"> <div class="content"> <div class="article-container"> <a href="#" class="back-to-top muted-link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path> </svg> <span>Back to top</span> </a> <div class="content-icon-container"> <div class="theme-toggle-container theme-toggle-content"> <button class="theme-toggle"> <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div> <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg> <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg> <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> </button> </div> <label class="toc-overlay-icon toc-content-icon" for="__toc"> <div class="visually-hidden">Toggle table of contents sidebar</div> <i class="icon"><svg><use href="#svg-toc"></use></svg></i> </label> </div> <article role="main" id="furo-main-content"> <section id="module-gevent._socket3"> <span id="gevent-socket3-python-3-socket-module"></span><h1><a class="reference internal" href="#module-gevent._socket3" title="gevent._socket3"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent._socket3</span></code></a> – Python 3 socket module<a class="headerlink" href="#module-gevent._socket3" title="Link to this heading">¶</a></h1> <p>Python 3 socket module.</p> <dl class="py attribute"> <dt class="sig sig-object py" id="gevent._socket3.SocketType"> <span class="sig-name descname"><span class="pre">SocketType</span></span><a class="headerlink" href="#gevent._socket3.SocketType" title="Link to this definition">¶</a></dt> <dd><p>alias of <a class="reference internal" href="#gevent._socket3.socket" title="gevent._socket3.socket"><code class="xref py py-class docutils literal notranslate"><span class="pre">socket</span></code></a></p> </dd></dl> <dl class="py class"> <dt class="sig sig-object py" id="gevent._socket3.socket"> <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">socket</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">family</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">proto</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fileno</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socket3.html#socket"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socket" title="Link to this definition">¶</a></dt> <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">SocketMixin</span></code></p> <p>gevent <a class="reference external" href="https://docs.python.org/3/library/socket.html#socket-objects">socket.socket</a> for Python 3.</p> <p>This object should have the same API as the standard library socket linked to above. Not all methods are specifically documented here; when they are they may point out a difference to be aware of or may document a method the standard library does not.</p> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.accept"> <span class="sig-name descname"><span class="pre">accept</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">)</span> <span class="pre">-></span> <span class="pre">(socket</span> <span class="pre">object</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">address</span> <span class="pre">info</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socket3.html#socket.accept"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socket.accept" title="Link to this definition">¶</a></dt> <dd><p>Wait for an incoming connection. Return a new socket representing the connection, and the address of the client. For IP sockets, the address info is a pair (hostaddr, port).</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.bind"> <span class="sig-name descname"><span class="pre">bind</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">address</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.bind" title="Link to this definition">¶</a></dt> <dd><p>Bind the socket to a local address. For IP sockets, the address is a pair (host, port); the host must refer to the local host. For raw packet sockets the address is a tuple (ifname, proto [,pkttype [,hatype [,addr]]])</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.connect"> <span class="sig-name descname"><span class="pre">connect</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">address</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.connect" title="Link to this definition">¶</a></dt> <dd><p>Connect to <em>address</em>.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 20.6.0: </span>If the host part of the address includes an IPv6 scope ID, it will be used instead of ignored, if the platform supplies <a class="reference external" href="https://docs.python.org/3/library/socket.html#socket.inet_pton" title="(in Python v3.13)"><code class="xref py py-func docutils literal notranslate"><span class="pre">socket.inet_pton()</span></code></a>.</p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.connect_ex"> <span class="sig-name descname"><span class="pre">connect_ex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">address</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.connect_ex" title="Link to this definition">¶</a></dt> <dd><p>Connect to <em>address</em>, returning a result code.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 23.7.0: </span>No longer uses an overridden <code class="docutils literal notranslate"><span class="pre">connect</span></code> method on this object. Instead, like the standard library, this method always uses a non-replacable internal connection function.</p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.detach"> <span class="sig-name descname"><span class="pre">detach</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">file</span> <span class="pre">descriptor</span></span></span><a class="reference internal" href="../_modules/gevent/_socket3.html#socket.detach"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socket.detach" title="Link to this definition">¶</a></dt> <dd><p>Close the socket object without closing the underlying file descriptor. The object cannot be used after this call; when the real file descriptor is closed, the number that was previously used here may be reused. The fileno() method, after this call, will return an invalid socket id.</p> <p>The previous descriptor is returned.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 1.5: </span>Also immediately drop any native event loop resources.</p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.dup"> <span class="sig-name descname"><span class="pre">dup</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">socket</span> <span class="pre">object</span></span></span><a class="reference internal" href="../_modules/gevent/_socket3.html#socket.dup"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socket.dup" title="Link to this definition">¶</a></dt> <dd><p>Return a new socket object connected to the same system resource.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.fileno"> <span class="sig-name descname"><span class="pre">fileno</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">integer</span></span></span><a class="headerlink" href="#gevent._socket3.socket.fileno" title="Link to this definition">¶</a></dt> <dd><p>Return the integer file descriptor of the socket.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.get_inheritable"> <span class="sig-name descname"><span class="pre">get_inheritable</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socket3.html#socket.get_inheritable"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socket.get_inheritable" title="Link to this definition">¶</a></dt> <dd><p>Get the inheritable flag of the socket</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.getblocking"> <span class="sig-name descname"><span class="pre">getblocking</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.getblocking" title="Link to this definition">¶</a></dt> <dd><p>Returns whether the socket will approximate blocking behaviour.</p> <div class="versionadded"> <p><span class="versionmodified added">Added in version 1.3a2: </span>Added in Python 3.7.</p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.getpeername"> <span class="sig-name descname"><span class="pre">getpeername</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">address</span> <span class="pre">info</span></span></span><a class="headerlink" href="#gevent._socket3.socket.getpeername" title="Link to this definition">¶</a></dt> <dd><p>Return the address of the remote endpoint. For IP sockets, the address info is a pair (hostaddr, port).</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.getsockname"> <span class="sig-name descname"><span class="pre">getsockname</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">address</span> <span class="pre">info</span></span></span><a class="headerlink" href="#gevent._socket3.socket.getsockname" title="Link to this definition">¶</a></dt> <dd><p>Return the address of the local endpoint. The format depends on the address family. For IPv4 sockets, the address info is a pair (hostaddr, port). For IPv6 sockets, the address info is a 4-tuple (hostaddr, port, flowinfo, scope_id).</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.getsockopt"> <span class="sig-name descname"><span class="pre">getsockopt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">level</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">option</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">buffersize</span></span></em><span class="optional">]</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">value</span></span></span><a class="headerlink" href="#gevent._socket3.socket.getsockopt" title="Link to this definition">¶</a></dt> <dd><p>Get a socket option. See the Unix manual for level and option. If a nonzero buffersize argument is given, the return value is a string of that length; otherwise it is an integer.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.gettimeout"> <span class="sig-name descname"><span class="pre">gettimeout</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">timeout</span></span></span><a class="headerlink" href="#gevent._socket3.socket.gettimeout" title="Link to this definition">¶</a></dt> <dd><p>Returns the timeout in seconds (float) associated with socket operations. A timeout of None indicates that timeouts on socket operations are disabled.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.listen"> <span class="sig-name descname"><span class="pre">listen</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">backlog</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.listen" title="Link to this definition">¶</a></dt> <dd><p>Enable a server to accept connections. If backlog is specified, it must be at least 0 (if it is lower, it is set to 0); it specifies the number of unaccepted connections that the system will allow before refusing new connections. If not specified, a default reasonable value is chosen.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.makefile"> <span class="sig-name descname"><span class="pre">makefile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mode</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'r'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">buffering</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">encoding</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">errors</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">newline</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socket3.html#socket.makefile"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socket.makefile" title="Link to this definition">¶</a></dt> <dd><p>Return an I/O stream connected to the socket</p> <p>The arguments are as for io.open() after the filename, except the only mode characters supported are ‘r’, ‘w’ and ‘b’. The semantics are similar too.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.recv"> <span class="sig-name descname"><span class="pre">recv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">buffersize</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span></em><span class="optional">]</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">data</span></span></span><a class="headerlink" href="#gevent._socket3.socket.recv" title="Link to this definition">¶</a></dt> <dd><p>Receive up to buffersize bytes from the socket. For the optional flags argument, see the Unix manual. When no data is available, block until at least one byte is available or until the remote end is closed. When the remote end is closed and all data is read, return the empty string.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.recv_into"> <span class="sig-name descname"><span class="pre">recv_into</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">buffer</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">nbytes</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">nbytes_read</span></span></span><a class="headerlink" href="#gevent._socket3.socket.recv_into" title="Link to this definition">¶</a></dt> <dd><p>A version of recv() that stores its data into a buffer rather than creating a new string. Receive up to buffersize bytes from the socket. If buffersize is not specified (or 0), receive up to the size available in the given buffer.</p> <p>See recv() for documentation about the flags.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.recvfrom"> <span class="sig-name descname"><span class="pre">recvfrom</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">buffersize[,</span> <span class="pre">flags])</span> <span class="pre">-></span> <span class="pre">(data,</span> <span class="pre">address</span> <span class="pre">info</span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.recvfrom" title="Link to this definition">¶</a></dt> <dd><p>Like recv(buffersize, flags) but also return the sender’s address info.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.recvfrom_into"> <span class="sig-name descname"><span class="pre">recvfrom_into</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">buffer[,</span> <span class="pre">nbytes[,</span> <span class="pre">flags]])</span> <span class="pre">-></span> <span class="pre">(nbytes,</span> <span class="pre">address</span> <span class="pre">info</span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.recvfrom_into" title="Link to this definition">¶</a></dt> <dd><p>Like recv_into(buffer[, nbytes[, flags]]) but also return the sender’s address info.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.send"> <span class="sig-name descname"><span class="pre">send</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span></em><span class="optional">]</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">count</span></span></span><a class="headerlink" href="#gevent._socket3.socket.send" title="Link to this definition">¶</a></dt> <dd><p>Send a data string to the socket. For the optional flags argument, see the Unix manual. Return the number of bytes sent; this may be less than len(data) if the network is busy.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.sendall"> <span class="sig-name descname"><span class="pre">sendall</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.sendall" title="Link to this definition">¶</a></dt> <dd><p>Send a data string to the socket. For the optional flags argument, see the Unix manual. This calls send() repeatedly until all data is sent. If an error occurs, it’s impossible to tell how much data has been sent.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.sendfile"> <span class="sig-name descname"><span class="pre">sendfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">count</span></span></em><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">sent</span></span></span><a class="reference internal" href="../_modules/gevent/_socket3.html#socket.sendfile"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socket.sendfile" title="Link to this definition">¶</a></dt> <dd><p>Send a file until EOF is reached by using high-performance os.sendfile() and return the total number of bytes which were sent. <em>file</em> must be a regular file object opened in binary mode. If os.sendfile() is not available (e.g. Windows) or file is not a regular file socket.send() will be used instead. <em>offset</em> tells from where to start reading the file. If specified, <em>count</em> is the total number of bytes to transmit as opposed to sending the file until EOF is reached. File position is updated on return or also in case of error in which case file.tell() can be used to figure out the number of bytes which were sent. The socket must be of SOCK_STREAM type. Non-blocking sockets are not supported.</p> <div class="versionadded"> <p><span class="versionmodified added">Added in version 1.1rc4: </span>Added in Python 3.5, but available under all Python 3 versions in gevent.</p> </div> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.sendto"> <span class="sig-name descname"><span class="pre">sendto</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">flags</span></span></em>, <span class="optional">]</span><em class="sig-param"><span class="n"><span class="pre">address</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">count</span></span></span><a class="headerlink" href="#gevent._socket3.socket.sendto" title="Link to this definition">¶</a></dt> <dd><p>Like send(data, flags) but allows specifying the destination address. For IP sockets, the address is a pair (hostaddr, port).</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.set_inheritable"> <span class="sig-name descname"><span class="pre">set_inheritable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">inheritable</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socket3.html#socket.set_inheritable"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socket.set_inheritable" title="Link to this definition">¶</a></dt> <dd><p>Set the inheritable flag of the socket</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.setblocking"> <span class="sig-name descname"><span class="pre">setblocking</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flag</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.setblocking" title="Link to this definition">¶</a></dt> <dd><p>Set the socket to blocking (flag is true) or non-blocking (false). setblocking(True) is equivalent to settimeout(None); setblocking(False) is equivalent to settimeout(0.0).</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.setsockopt"> <span class="sig-name descname"><span class="pre">setsockopt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">level</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">option</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.13)"><span class="pre">int</span></a></span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.setsockopt" title="Link to this definition">¶</a></dt> <dt class="sig sig-object py"> <span class="sig-name descname"><span class="pre">setsockopt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">level</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">option</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">buffer</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.13)"><span class="pre">None</span></a></span></span></dt> <dt class="sig sig-object py"> <span class="sig-name descname"><span class="pre">setsockopt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">level</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">option</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optlen:</span> <span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.13)"><span class="pre">None</span></a></span></span></dt> <dd><p>Set a socket option. See the Unix manual for level and option. The value argument can either be an integer, a string buffer, or None, optlen.</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.settimeout"> <span class="sig-name descname"><span class="pre">settimeout</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timeout</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.settimeout" title="Link to this definition">¶</a></dt> <dd><p>Set a timeout on socket operations. ‘timeout’ can be a float, giving in seconds, or None. Setting a timeout of None disables the timeout feature and is equivalent to setblocking(1). Setting a timeout of zero is the same as setblocking(0).</p> </dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="gevent._socket3.socket.shutdown"> <span class="sig-name descname"><span class="pre">shutdown</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flag</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#gevent._socket3.socket.shutdown" title="Link to this definition">¶</a></dt> <dd><p>Shut down the reading side of the socket (flag == SHUT_RD), the writing side of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).</p> </dd></dl> <dl class="py property"> <dt class="sig sig-object py" id="gevent._socket3.socket.family"> <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">family</span></span><a class="headerlink" href="#gevent._socket3.socket.family" title="Link to this definition">¶</a></dt> <dd><p>Read-only access to the address family for this socket.</p> </dd></dl> <dl class="py property"> <dt class="sig sig-object py" id="gevent._socket3.socket.proto"> <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">proto</span></span><a class="headerlink" href="#gevent._socket3.socket.proto" title="Link to this definition">¶</a></dt> <dd><p>the socket protocol</p> </dd></dl> <dl class="py property"> <dt class="sig sig-object py" id="gevent._socket3.socket.type"> <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">type</span></span><a class="headerlink" href="#gevent._socket3.socket.type" title="Link to this definition">¶</a></dt> <dd><p>Read-only access to the socket type.</p> </dd></dl> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.create_connection"> <span class="sig-name descname"><span class="pre">create_connection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">address</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source_address</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">all_errors</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#gevent._socket3.socket" title="gevent._socket3.socket"><span class="pre">socket</span></a></span></span><a class="reference internal" href="../_modules/gevent/socket.html#create_connection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.create_connection" title="Link to this definition">¶</a></dt> <dd><p>Connect to <em>address</em> and return the <a class="reference internal" href="gevent.socket.html#gevent.socket.socket" title="gevent.socket.socket"><code class="xref py py-class docutils literal notranslate"><span class="pre">gevent.socket.socket</span></code></a> object.</p> <p>Convenience function. Connect to <em>address</em> (a 2-tuple <code class="docutils literal notranslate"><span class="pre">(host,</span> <span class="pre">port)</span></code>) and return the socket object. Passing the optional <em>timeout</em> parameter will set the timeout on the socket instance before attempting to connect. If no <em>timeout</em> is supplied, the global default timeout setting returned by <code class="xref py py-func docutils literal notranslate"><span class="pre">getdefaulttimeout()</span></code> is used. If <em>source_address</em> is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of ‘’ or port 0 tells the OS to use the default.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 20.6.0: </span>If the host part of the address includes an IPv6 scope ID, it will be used instead of ignored, if the platform supplies <a class="reference external" href="https://docs.python.org/3/library/socket.html#socket.inet_pton" title="(in Python v3.13)"><code class="xref py py-func docutils literal notranslate"><span class="pre">socket.inet_pton()</span></code></a>.</p> </div> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 22.08.0: </span>Add the <em>all_errors</em> argument. This only has meaning on Python 3.11+; it is a programming error to pass it on earlier versions.</p> </div> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 23.7.0: </span>You can pass a value for <code class="docutils literal notranslate"><span class="pre">all_errors</span></code> on any version of Python. It is forced to false for any version before 3.11 inside the function.</p> </div> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.fromfd"> <span class="sig-name descname"><span class="pre">fromfd</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fd</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">family</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">proto</span></span></em><span class="optional">]</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">socket</span> <span class="pre">object</span></span></span><a class="reference internal" href="../_modules/gevent/_socket3.html#fromfd"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.fromfd" title="Link to this definition">¶</a></dt> <dd><p>Create a socket object from a duplicate of the given file descriptor. The remaining arguments are the same as for socket().</p> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.getaddrinfo"> <span class="sig-name descname"><span class="pre">getaddrinfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">host</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">family</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">proto</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socketcommon.html#getaddrinfo"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.getaddrinfo" title="Link to this definition">¶</a></dt> <dd><p>Resolve host and port into list of address info entries.</p> <p>Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as ‘http’, a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API.</p> <p>The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference internal" href="../dns.html"><span class="doc">Name Resolution (DNS)</span></a></p> </div> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.getfqdn"> <span class="sig-name descname"><span class="pre">getfqdn</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socketcommon.html#getfqdn"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.getfqdn" title="Link to this definition">¶</a></dt> <dd><p>Get fully qualified domain name from name.</p> <p>An empty argument is interpreted as meaning the local host.</p> <p>First the hostname returned by gethostbyaddr() is checked, then possibly existing aliases. In case no FQDN is available, hostname from gethostname() is returned.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 23.7.0: </span>The IPv6 generic address ‘::’ now returns the result of <code class="docutils literal notranslate"><span class="pre">gethostname</span></code>, like the IPv4 address ‘0.0.0.0’.</p> </div> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.gethostbyaddr"> <span class="sig-name descname"><span class="pre">gethostbyaddr</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ip_address</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socketcommon.html#gethostbyaddr"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.gethostbyaddr" title="Link to this definition">¶</a></dt> <dd><p>Return the true host name, a list of aliases, and a list of IP addresses, for a host. The host argument is a string giving a host name or IP number.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference internal" href="../dns.html"><span class="doc">Name Resolution (DNS)</span></a></p> </div> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.gethostbyname"> <span class="sig-name descname"><span class="pre">gethostbyname</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">host</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">address</span></span></span><a class="reference internal" href="../_modules/gevent/_socketcommon.html#gethostbyname"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.gethostbyname" title="Link to this definition">¶</a></dt> <dd><p>Return the IP address (a string of the form ‘255.255.255.255’) for a host.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference internal" href="../dns.html"><span class="doc">Name Resolution (DNS)</span></a></p> </div> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.gethostbyname_ex"> <span class="sig-name descname"><span class="pre">gethostbyname_ex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">host</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socketcommon.html#gethostbyname_ex"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.gethostbyname_ex" title="Link to this definition">¶</a></dt> <dd><p>Return the true host name, a list of aliases, and a list of IP addresses, for a host. The host argument is a string giving a host name or IP number. Resolve host and port into list of address info entries.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference internal" href="../dns.html"><span class="doc">Name Resolution (DNS)</span></a></p> </div> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.getnameinfo"> <span class="sig-name descname"><span class="pre">getnameinfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sockaddr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socketcommon.html#getnameinfo"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.getnameinfo" title="Link to this definition">¶</a></dt> <dd><p>Get host and port for a sockaddr.</p> <div class="admonition seealso"> <p class="admonition-title">See also</p> <p><a class="reference internal" href="../dns.html"><span class="doc">Name Resolution (DNS)</span></a></p> </div> </dd></dl> <dl class="py function"> <dt class="sig sig-object py" id="gevent._socket3.socketpair"> <span class="sig-name descname"><span class="pre">socketpair</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">[family[,</span> <span class="pre">type[,</span> <span class="pre">proto]]])</span> <span class="pre">-></span> <span class="pre">(socket</span> <span class="pre">object,</span> <span class="pre">socket</span> <span class="pre">object</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/gevent/_socket3.html#socketpair"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#gevent._socket3.socketpair" title="Link to this definition">¶</a></dt> <dd><p>Create a pair of socket objects from the sockets returned by the platform socketpair() function. The arguments are the same as for socket() except the default family is AF_UNIX if defined on the platform; otherwise, the default is AF_INET.</p> <div class="versionchanged"> <p><span class="versionmodified changed">Changed in version 1.2: </span>All Python 3 versions on Windows supply this function (natively supplied by Python 3.5 and above).</p> </div> </dd></dl> </section> </article> </div> <footer> <div class="related-pages"> <a class="next-page" href="gevent.ssl.html"> <div class="page-info"> <div class="context"> <span>Next</span> </div> <div class="title"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.ssl</span></code> – Secure Sockets Layer (SSL/TLS) module</div> </div> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> </a> <a class="prev-page" href="gevent.socket.html"> <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> <div class="page-info"> <div class="context"> <span>Previous</span> </div> <div class="title"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent.socket</span></code> – Cooperative low-level networking interface</div> </div> </a> </div> <div class="bottom-of-page"> <div class="left-details"> <div class="copyright"> Copyright © 2009-2023, gevent contributors </div> Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s <a href="https://github.com/pradyunsg/furo">Furo</a> </div> <div class="right-details"> </div> </div> </footer> </div> <aside class="toc-drawer"> <div class="toc-sticky toc-scroll"> <div class="toc-title-container"> <span class="toc-title"> On this page </span> </div> <div class="toc-tree-container"> <div class="toc-tree"> <ul> <li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">gevent._socket3</span></code> – Python 3 socket module</a><ul> <li><a class="reference internal" href="#gevent._socket3.SocketType"><code class="docutils literal notranslate"><span class="pre">SocketType</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket"><code class="docutils literal notranslate"><span class="pre">socket</span></code></a><ul> <li><a class="reference internal" href="#gevent._socket3.socket.accept"><code class="docutils literal notranslate"><span class="pre">socket.accept()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.bind"><code class="docutils literal notranslate"><span class="pre">socket.bind()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.connect"><code class="docutils literal notranslate"><span class="pre">socket.connect()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.connect_ex"><code class="docutils literal notranslate"><span class="pre">socket.connect_ex()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.detach"><code class="docutils literal notranslate"><span class="pre">socket.detach()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.dup"><code class="docutils literal notranslate"><span class="pre">socket.dup()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.fileno"><code class="docutils literal notranslate"><span class="pre">socket.fileno()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.get_inheritable"><code class="docutils literal notranslate"><span class="pre">socket.get_inheritable()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.getblocking"><code class="docutils literal notranslate"><span class="pre">socket.getblocking()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.getpeername"><code class="docutils literal notranslate"><span class="pre">socket.getpeername()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.getsockname"><code class="docutils literal notranslate"><span class="pre">socket.getsockname()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.getsockopt"><code class="docutils literal notranslate"><span class="pre">socket.getsockopt()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.gettimeout"><code class="docutils literal notranslate"><span class="pre">socket.gettimeout()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.listen"><code class="docutils literal notranslate"><span class="pre">socket.listen()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.makefile"><code class="docutils literal notranslate"><span class="pre">socket.makefile()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.recv"><code class="docutils literal notranslate"><span class="pre">socket.recv()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.recv_into"><code class="docutils literal notranslate"><span class="pre">socket.recv_into()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.recvfrom"><code class="docutils literal notranslate"><span class="pre">socket.recvfrom()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.recvfrom_into"><code class="docutils literal notranslate"><span class="pre">socket.recvfrom_into()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.send"><code class="docutils literal notranslate"><span class="pre">socket.send()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.sendall"><code class="docutils literal notranslate"><span class="pre">socket.sendall()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.sendfile"><code class="docutils literal notranslate"><span class="pre">socket.sendfile()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.sendto"><code class="docutils literal notranslate"><span class="pre">socket.sendto()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.set_inheritable"><code class="docutils literal notranslate"><span class="pre">socket.set_inheritable()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.setblocking"><code class="docutils literal notranslate"><span class="pre">socket.setblocking()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.setsockopt"><code class="docutils literal notranslate"><span class="pre">socket.setsockopt()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.settimeout"><code class="docutils literal notranslate"><span class="pre">socket.settimeout()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.shutdown"><code class="docutils literal notranslate"><span class="pre">socket.shutdown()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.family"><code class="docutils literal notranslate"><span class="pre">socket.family</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.proto"><code class="docutils literal notranslate"><span class="pre">socket.proto</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socket.type"><code class="docutils literal notranslate"><span class="pre">socket.type</span></code></a></li> </ul> </li> <li><a class="reference internal" href="#gevent._socket3.create_connection"><code class="docutils literal notranslate"><span class="pre">create_connection()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.fromfd"><code class="docutils literal notranslate"><span class="pre">fromfd()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.getaddrinfo"><code class="docutils literal notranslate"><span class="pre">getaddrinfo()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.getfqdn"><code class="docutils literal notranslate"><span class="pre">getfqdn()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.gethostbyaddr"><code class="docutils literal notranslate"><span class="pre">gethostbyaddr()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.gethostbyname"><code class="docutils literal notranslate"><span class="pre">gethostbyname()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.gethostbyname_ex"><code class="docutils literal notranslate"><span class="pre">gethostbyname_ex()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.getnameinfo"><code class="docutils literal notranslate"><span class="pre">getnameinfo()</span></code></a></li> <li><a class="reference internal" href="#gevent._socket3.socketpair"><code class="docutils literal notranslate"><span class="pre">socketpair()</span></code></a></li> </ul> </li> </ul> </div> </div> </div> </aside> </div> </div><script src="../_static/documentation_options.js?v=32fdf4fc"></script> <script src="../_static/doctools.js?v=9bcbadda"></script> <script src="../_static/sphinx_highlight.js?v=dc90522c"></script> <script src="../_static/scripts/furo.js?v=5fa4622c"></script> </body> </html>