Files
hakril-PythonForWindows/docs/build/html/pipe.html
T
2025-08-14 10:37:06 +02:00

259 lines
21 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>6. windows.pipe Inter-Process Communication &#8212; PythonForWindows 1.0.4 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
<script src="_static/documentation_options.js?v=71272d9f"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="7. windows.utils Windows Utilities" href="utils.html" />
<link rel="prev" title="5. windows.security Security Descriptor &amp; related" href="security.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="utils.html" title="7. windows.utils Windows Utilities"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="security.html" title="5. windows.security Security Descriptor &amp; related"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">6. </span><code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> Inter-Process Communication</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-windows.pipe">
<span id="windows-pipe-inter-process-communication"></span><h1><span class="section-number">6. </span><code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> Inter-Process Communication<a class="headerlink" href="#module-windows.pipe" title="Link to this heading"></a></h1>
<p><a class="reference internal" href="#module-windows.pipe" title="windows.pipe"><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.pipe</span></code></a> is wrapper around <code class="xref py py-class docutils literal notranslate"><span class="pre">_multiprocessing.PipeConnection</span></code> simplifiying its use.</p>
<p>The main improvement are:</p>
<blockquote>
<div><ul class="simple">
<li><p>send/recv object from a pipe name in one line</p></li>
<li><p>Context manager around pipe connection</p></li>
</ul>
</div></blockquote>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>see sample <a class="reference internal" href="sample.html#sample-pipe"><span class="std std-ref">windows.pipe</span></a></p>
</div>
<section id="helper-functions">
<h2><span class="section-number">6.1. </span>Helper functions<a class="headerlink" href="#helper-functions" title="Link to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="windows.pipe.create">
<span class="sig-prename descclassname"><span class="pre">windows.pipe.</span></span><span class="sig-name descname"><span class="pre">create</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">addr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">security_descriptor</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="headerlink" href="#windows.pipe.create" title="Link to this definition"></a></dt>
<dd><p>Create a namedpipe pipe <code class="docutils literal notranslate"><span class="pre">addr</span></code></p>
<dl class="field-list simple">
<dt class="field-odd">Returns type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#windows.pipe.PipeConnection" title="windows.pipe.PipeConnection"><code class="xref py py-class docutils literal notranslate"><span class="pre">PipeConnection</span></code></a></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="windows.pipe.connect">
<span class="sig-prename descclassname"><span class="pre">windows.pipe.</span></span><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">addr</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.pipe.connect" title="Link to this definition"></a></dt>
<dd><p>Connect to the named pipe <code class="docutils literal notranslate"><span class="pre">addr</span></code></p>
<dl class="field-list simple">
<dt class="field-odd">Returns type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#windows.pipe.PipeConnection" title="windows.pipe.PipeConnection"><code class="xref py py-class docutils literal notranslate"><span class="pre">PipeConnection</span></code></a></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="windows.pipe.recv_object">
<span class="sig-prename descclassname"><span class="pre">windows.pipe.</span></span><span class="sig-name descname"><span class="pre">recv_object</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">addr</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#recv_object"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.recv_object" title="Link to this definition"></a></dt>
<dd><p>Receive an object from pipe <code class="docutils literal notranslate"><span class="pre">addr</span></code></p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="windows.pipe.send_object">
<span class="sig-prename descclassname"><span class="pre">windows.pipe.</span></span><span class="sig-name descname"><span class="pre">send_object</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">addr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">obj</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#send_object"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.send_object" title="Link to this definition"></a></dt>
<dd><p>Send <cite>obj</cite> on pipe <code class="docutils literal notranslate"><span class="pre">addr</span></code></p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="windows.pipe.full_pipe_address">
<span class="sig-prename descclassname"><span class="pre">windows.pipe.</span></span><span class="sig-name descname"><span class="pre">full_pipe_address</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">addr</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#full_pipe_address"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.full_pipe_address" title="Link to this definition"></a></dt>
<dd><p>Return the full address of the pipe <cite>addr</cite></p>
</dd></dl>
</section>
<section id="pipeconnection">
<h2><span class="section-number">6.2. </span>PipeConnection<a class="headerlink" href="#pipeconnection" title="Link to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="windows.pipe.PipeConnection">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.pipe.</span></span><span class="sig-name descname"><span class="pre">PipeConnection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">connection</span></span></em>, <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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">server</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><a class="reference internal" href="_modules/windows/pipe.html#PipeConnection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.PipeConnection" title="Link to this definition"></a></dt>
<dd><p>A wrapper arround <code class="xref py py-class docutils literal notranslate"><span class="pre">_multiprocessing.PipeConnection</span></code> able to work as a ContextManager</p>
<dl class="py method">
<dt class="sig sig-object py" id="windows.pipe.PipeConnection.close">
<span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#PipeConnection.close"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.PipeConnection.close" title="Link to this definition"></a></dt>
<dd><p>Close the handle of the pipe</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="windows.pipe.PipeConnection.connect">
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><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">addr</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#PipeConnection.connect"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.PipeConnection.connect" title="Link to this definition"></a></dt>
<dd><p>Connect to the named pipe <code class="docutils literal notranslate"><span class="pre">addr</span></code></p>
<dl class="field-list simple">
<dt class="field-odd">Returns type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#windows.pipe.PipeConnection" title="windows.pipe.PipeConnection"><code class="xref py py-class docutils literal notranslate"><span class="pre">PipeConnection</span></code></a></p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="windows.pipe.PipeConnection.create">
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">addr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">security_descriptor</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/windows/pipe.html#PipeConnection.create"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.PipeConnection.create" title="Link to this definition"></a></dt>
<dd><p>Create a namedpipe pipe <code class="docutils literal notranslate"><span class="pre">addr</span></code></p>
<dl class="field-list simple">
<dt class="field-odd">Returns type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#windows.pipe.PipeConnection" title="windows.pipe.PipeConnection"><code class="xref py py-class docutils literal notranslate"><span class="pre">PipeConnection</span></code></a></p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="windows.pipe.PipeConnection.from_handle">
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">from_handle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">phandle</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#PipeConnection.from_handle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.PipeConnection.from_handle" title="Link to this definition"></a></dt>
<dd><p>Create a <a class="reference internal" href="#windows.pipe.PipeConnection" title="windows.pipe.PipeConnection"><code class="xref py py-class docutils literal notranslate"><span class="pre">PipeConnection</span></code></a> from pipe handle <cite>phandle</cite></p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="windows.pipe.PipeConnection.recv">
<span class="sig-name descname"><span class="pre">recv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#PipeConnection.recv"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.PipeConnection.recv" title="Link to this definition"></a></dt>
<dd><p>Send an object from the pipe</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="windows.pipe.PipeConnection.send">
<span class="sig-name descname"><span class="pre">send</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#PipeConnection.send"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.PipeConnection.send" title="Link to this definition"></a></dt>
<dd><p>Send an object on the pipe</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="windows.pipe.PipeConnection.wait_connection">
<span class="sig-name descname"><span class="pre">wait_connection</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pipe.html#PipeConnection.wait_connection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pipe.PipeConnection.wait_connection" title="Link to this definition"></a></dt>
<dd><p>Wait for a client process to connect to the named pipe</p>
</dd></dl>
</dd></dl>
</section>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<div>
<h3><a href="index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">6. <code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> Inter-Process Communication</a><ul>
<li><a class="reference internal" href="#helper-functions">6.1. Helper functions</a><ul>
<li><a class="reference internal" href="#windows.pipe.create"><code class="docutils literal notranslate"><span class="pre">create()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.connect"><code class="docutils literal notranslate"><span class="pre">connect()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.recv_object"><code class="docutils literal notranslate"><span class="pre">recv_object()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.send_object"><code class="docutils literal notranslate"><span class="pre">send_object()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.full_pipe_address"><code class="docutils literal notranslate"><span class="pre">full_pipe_address()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#pipeconnection">6.2. PipeConnection</a><ul>
<li><a class="reference internal" href="#windows.pipe.PipeConnection"><code class="docutils literal notranslate"><span class="pre">PipeConnection</span></code></a><ul>
<li><a class="reference internal" href="#windows.pipe.PipeConnection.close"><code class="docutils literal notranslate"><span class="pre">close()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.PipeConnection.connect"><code class="docutils literal notranslate"><span class="pre">connect()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.PipeConnection.create"><code class="docutils literal notranslate"><span class="pre">create()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.PipeConnection.from_handle"><code class="docutils literal notranslate"><span class="pre">from_handle()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.PipeConnection.recv"><code class="docutils literal notranslate"><span class="pre">recv()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.PipeConnection.send"><code class="docutils literal notranslate"><span class="pre">send()</span></code></a></li>
<li><a class="reference internal" href="#windows.pipe.PipeConnection.wait_connection"><code class="docutils literal notranslate"><span class="pre">wait_connection()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="security.html"
title="previous chapter"><span class="section-number">5. </span><code class="docutils literal notranslate"><span class="pre">windows.security</span></code> Security Descriptor &amp; related</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="utils.html"
title="next chapter"><span class="section-number">7. </span><code class="docutils literal notranslate"><span class="pre">windows.utils</span></code> Windows Utilities</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/pipe.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="utils.html" title="7. windows.utils Windows Utilities"
>next</a> |</li>
<li class="right" >
<a href="security.html" title="5. windows.security Security Descriptor &amp; related"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">6. </span><code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> Inter-Process Communication</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2015-2020, Clement Rouault.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.3.7.
</div>
</body>
</html>