<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Boost Fragen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beschäftige mich jetzt mit Boost, da es ja inzwischen schon einen recht großen Bekanntheitsgrad erlangt hat. Ich habe aber einige Probleme. Zum Beispiel scheint sowas nicht möglich zu sein:</p>
<pre><code class="language-cpp">void bla()
{
  while (true)
  {
    // ...
  }
}

int main()
{
  boost:thread...
  thread.join(&amp;bla);

  while (true)
  {
    // ...
  }
}
</code></pre>
<p>Ich würde gerne in meiner main einen Thread mit einer Endlosschleife starten und anschließend in der main weitermachen. Ist das nicht möglich?</p>
<p>Ein anderes Problem: Wie kann ich mit boost::asio mehrere Verbindungen aufnehmen? Es ist ja schön, dass dort ein daytime Server und allen möglichen Zeugs beschrieben wird, es aber leider keinen Hinweise gibt, wie ich einen Server programmieren kann, der mehrere Verbindungen aufnehmen kann. Ich hatte erst die Idee es so zu versuchen: boost::socket blub(io) [MAX_CLIENTS];</p>
<p>Aber das scheint der falsche Weg zu sein...</p>
<p>Würde mich über Hilfe sehr freuen.</p>
<p>Viele Grüße,<br />
BoostNeuling</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/225282/boost-fragen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 14:28:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/225282.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Oct 2008 17:57:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Boost Fragen on Tue, 21 Oct 2008 17:57:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beschäftige mich jetzt mit Boost, da es ja inzwischen schon einen recht großen Bekanntheitsgrad erlangt hat. Ich habe aber einige Probleme. Zum Beispiel scheint sowas nicht möglich zu sein:</p>
<pre><code class="language-cpp">void bla()
{
  while (true)
  {
    // ...
  }
}

int main()
{
  boost:thread...
  thread.join(&amp;bla);

  while (true)
  {
    // ...
  }
}
</code></pre>
<p>Ich würde gerne in meiner main einen Thread mit einer Endlosschleife starten und anschließend in der main weitermachen. Ist das nicht möglich?</p>
<p>Ein anderes Problem: Wie kann ich mit boost::asio mehrere Verbindungen aufnehmen? Es ist ja schön, dass dort ein daytime Server und allen möglichen Zeugs beschrieben wird, es aber leider keinen Hinweise gibt, wie ich einen Server programmieren kann, der mehrere Verbindungen aufnehmen kann. Ich hatte erst die Idee es so zu versuchen: boost::socket blub(io) [MAX_CLIENTS];</p>
<p>Aber das scheint der falsche Weg zu sein...</p>
<p>Würde mich über Hilfe sehr freuen.</p>
<p>Viele Grüße,<br />
BoostNeuling</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602410</guid><dc:creator><![CDATA[BoostNeuling]]></dc:creator><pubDate>Tue, 21 Oct 2008 17:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Fragen on Tue, 21 Oct 2008 18:18:49 GMT]]></title><description><![CDATA[<p>BoostNeuling schrieb:</p>
<blockquote>
<p>Ich würde gerne in meiner main einen Thread mit einer Endlosschleife starten und anschließend in der main weitermachen. Ist das nicht möglich?</p>
</blockquote>
<p>Natürlich. du solltest dich erst mal allgemein mit Threads beschäftigen und verstehen, was das alles ist, vor du jetzt mit boost solange rumprobierst bis es geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602422</guid><dc:creator><![CDATA[Lösungskugel]]></dc:creator><pubDate>Tue, 21 Oct 2008 18:18:49 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Fragen on Tue, 21 Oct 2008 18:19:51 GMT]]></title><description><![CDATA[<p>Natürlich ist das möglich, hab vorher dein &quot;nicht&quot; überlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602424</guid><dc:creator><![CDATA[Lösungskugel]]></dc:creator><pubDate>Tue, 21 Oct 2008 18:19:51 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Fragen on Tue, 21 Oct 2008 19:31:36 GMT]]></title><description><![CDATA[<p>Lösungskugel schrieb:</p>
<blockquote>
<p>Natürlich ist das möglich, hab vorher dein &quot;nicht&quot; überlesen.</p>
</blockquote>
<p>Wenn ich join() aufrufe blockiert das Programm =&gt; In der main() gehts nicht weiter bis der Thread zu Ende ist, da es sich aber um eine Endlosschleife handelt wird das wohl eine längere Angelegenheit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602467</guid><dc:creator><![CDATA[BoostNeuling]]></dc:creator><pubDate>Tue, 21 Oct 2008 19:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Fragen on Tue, 21 Oct 2008 20:00:11 GMT]]></title><description><![CDATA[<p>So sollte das gehen:</p>
<pre><code class="language-cpp">#include &lt;boost/thread.hpp&gt;

void bla()
{
    for(;;)
    {
        // ...  irgendwie sollte irgendwann diese Schleife abbrechen
    }
}

int main()
{
    boost::thread thread_( &amp;bla );  // hier startet der Thread
    for(;;)
    {
        // ... das läuft 'parallel'
    }
    thread_.join(); // wartet auf das Ende von 'thread_'
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602480</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 21 Oct 2008 20:00:11 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Fragen on Tue, 21 Oct 2008 20:14:50 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>So sollte das gehen:</p>
<pre><code class="language-cpp">#include &lt;boost/thread.hpp&gt;

void bla()
{
    for(;;)
    {
        // ...  irgendwie sollte irgendwann diese Schleife abbrechen
    }
}

int main()
{
    boost::thread thread_( &amp;bla );  // hier startet der Thread
    for(;;)
    {
        // ... das läuft 'parallel'
    }
    thread_.join(); // wartet auf das Ende von 'thread_'
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
</blockquote>
<p>Vielen Dank! So klappt es perfekt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> Jetzt bleibt nur noch die Frage zu asio offen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>Viele Grüße,<br />
BoostNeuling</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602492</guid><dc:creator><![CDATA[BoostNeuling]]></dc:creator><pubDate>Tue, 21 Oct 2008 20:14:50 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Fragen on Tue, 21 Oct 2008 21:05:37 GMT]]></title><description><![CDATA[<p>BoostNeuling schrieb:</p>
<blockquote>
<p>Ein anderes Problem: Wie kann ich mit boost::asio mehrere Verbindungen aufnehmen? Es ist ja schön, dass dort ein daytime Server und allen möglichen Zeugs beschrieben wird, es aber leider keinen Hinweise gibt, wie ich einen Server programmieren kann, der mehrere Verbindungen aufnehmen kann.</p>
</blockquote>
<p>Es hat doch Beispiele von Servern, zum Beispiel ein Chatserver:<br />
<a href="http://www.boost.org/doc/libs/1_36_0/doc/html/boost_asio/example/chat/chat_server.cpp" rel="nofollow">http://www.boost.org/doc/libs/1_36_0/doc/html/boost_asio/example/chat/chat_server.cpp</a></p>
<p>Zudem hat es mehrere HTTP Server:<br />
<a href="http://www.boost.org/doc/libs/1_36_0/doc/html/boost_asio/examples.html" rel="nofollow">http://www.boost.org/doc/libs/1_36_0/doc/html/boost_asio/examples.html</a></p>
<p>Du musst einfach immer nur mit einem <code>acceptor</code> und einem freien <code>socket</code> auf ankommende Verbindungen warten. Sobald eine ankommt, schickst du das <code>socket</code> weiter, für weiteren Empfang und Sendungen und lauschst wieder mit dem <code>acceptor</code> . Ganz normal, wie man es aus jedem Socket-Tutorial auch kennt.<br />
Das wäre allerdings vielleicht noch anzumerken. Die Boost Dokumentation ist kein wirkliches Tutorial. Wenn du also Socket (Netzwerk) Programmierung lernen willst, solltest du dich vielleicht zuerst nach anderen Tutorials oder Bücher umschauen. Die Boost Dokumentation setzt also meisten ein gewisses Grundwissen voraus.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1602525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1602525</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 21 Oct 2008 21:05:37 GMT</pubDate></item></channel></rss>