<?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.asio - Es konnte keine Verbindung hergestellt werden..]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich schreibe eine kleine verteilte Anwendung, aber ich habe ein kleines Problem, dass folgende Fehlermeldung unregelmässig vorkommt:</p>
<blockquote>
<p>Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte</p>
</blockquote>
<p>Ich habe da einen kleinen Server, welcher auf Clients wartet.</p>
<pre><code class="language-cpp">boost::asio::io_service server_io_service;
boost::ptr_list&lt; tcp::socket &gt; connections;
boost::mutex m;
...
void accepting ()
{
 for (;;)
 {
   tcp::acceptor acceptor (server_io_service, tcp::endpoint (tcp::v4(), 13) );

   tcp::socket* socket = new tcp::socket ( server_io_service );
   acceptor.accept ( *socket );
   {
     boost::lock_guard&lt;boost::mutex&gt; lock ( m );
     connections.push_back ( socket );
   }
 }
}
</code></pre>
<p>Das läuft in einem eigenen Thread ab.</p>
<p>Nun verbindet sich ein Client auf den gewünschten Computer und Port. Das klappt beim ersten mal bis jetzt immer. Wenn jetzt aber mehr Clients dazu kommen, bekomme ich manchmal bei 2,3 und bis jetzt spätestens bei 4 Clients den oben genannten Fehler. Ich habe das jetzt meist auf einem PC getestet (und mehrere Clients gestartet), aber ebenfalls auf einem speraten PC als Client und ich bekomme das gleiche Fehelerbild.</p>
<p>An einer Firewall kann es nicht liegen, da es ja beim ersten mal bis jetzt immer funktioniert hat und die Warnung von Windows (&quot;Nicht mehr blocken&quot;) habe ich ebenfalls korrekt beim ersten mal erhalten.</p>
<p>Was mich am meisten verwirrt ist, dass es so unregelmässig ist (ansonsten könnte es ja eine natürliche Limitierung sein). Ich habe es mal geschafft, 3 Clients am gleichen Computer zu halten, während andere male lediglich einer ging.</p>
<p>Hat jemand das Problem auch mal gehabt oder weiss, an was das es liegt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257009/boost-asio-es-konnte-keine-verbindung-hergestellt-werden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 07:31:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257009.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Dec 2009 13:27:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 13:27:17 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich schreibe eine kleine verteilte Anwendung, aber ich habe ein kleines Problem, dass folgende Fehlermeldung unregelmässig vorkommt:</p>
<blockquote>
<p>Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte</p>
</blockquote>
<p>Ich habe da einen kleinen Server, welcher auf Clients wartet.</p>
<pre><code class="language-cpp">boost::asio::io_service server_io_service;
boost::ptr_list&lt; tcp::socket &gt; connections;
boost::mutex m;
...
void accepting ()
{
 for (;;)
 {
   tcp::acceptor acceptor (server_io_service, tcp::endpoint (tcp::v4(), 13) );

   tcp::socket* socket = new tcp::socket ( server_io_service );
   acceptor.accept ( *socket );
   {
     boost::lock_guard&lt;boost::mutex&gt; lock ( m );
     connections.push_back ( socket );
   }
 }
}
</code></pre>
<p>Das läuft in einem eigenen Thread ab.</p>
<p>Nun verbindet sich ein Client auf den gewünschten Computer und Port. Das klappt beim ersten mal bis jetzt immer. Wenn jetzt aber mehr Clients dazu kommen, bekomme ich manchmal bei 2,3 und bis jetzt spätestens bei 4 Clients den oben genannten Fehler. Ich habe das jetzt meist auf einem PC getestet (und mehrere Clients gestartet), aber ebenfalls auf einem speraten PC als Client und ich bekomme das gleiche Fehelerbild.</p>
<p>An einer Firewall kann es nicht liegen, da es ja beim ersten mal bis jetzt immer funktioniert hat und die Warnung von Windows (&quot;Nicht mehr blocken&quot;) habe ich ebenfalls korrekt beim ersten mal erhalten.</p>
<p>Was mich am meisten verwirrt ist, dass es so unregelmässig ist (ansonsten könnte es ja eine natürliche Limitierung sein). Ich habe es mal geschafft, 3 Clients am gleichen Computer zu halten, während andere male lediglich einer ging.</p>
<p>Hat jemand das Problem auch mal gehabt oder weiss, an was das es liegt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825844</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 21 Dec 2009 13:27:17 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 14:28:20 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Hat jemand das Problem auch mal gehabt oder weiss, an was das es liegt?</p>
</blockquote>
<p>Ich schätze mal, Dein Thread ist nicht in der Lage, die Verbindungsanforderungen schnell genug zu bearbeiten. Die Unregelmäßgkeiten kommen vermutlich von OS-Scheduler und der OS-Auslastung.<br />
Wieso benutzt Du keine asynchronen Operationen? Das ist viel einfacher, und funktioniert bei mir selbst dann, wenn 20 Clients gleichzeitig versuchen, sich zu verbinden.</p>
<p>PS: Was passiert denn noch so alles, nachdem Du den socket an die Liste übergeben hast? Ist nach dem push_back wirklich schluss?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825886</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 21 Dec 2009 14:28:20 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 14:45:46 GMT]]></title><description><![CDATA[<p>Hmm. Ich dachte, dass es ja auch synchron gehen müsste. Wäre aber schon auch geplant das dann auf asynchrone Zugriffe einzustellen.<br />
Warum schnell genug? - Der sollte ja auch einfach warten.. Oder hat es da intern irgendwo einen Timeout? - Das merkwürdige ist halt auch noch, dass wenn ein Client nicht zugreiffen konnte, dann habe ich nicht mehr geschafft einen anderen connecten. Musste wirklich jedesmal den Server neu starten, dann ging es vlt.</p>
<p>Jap. Danach ist Schluss. Sprich die Schleife geht wieder nach oben und wartet auf einen neuen. (Ich habe da noch 2 Konsolenausgaben drin, aber die tun ja nix zur Sache, habe es auch mal ohne die probiert und gab das gleiche Ergebnis).</p>
<p>Wenn es denn wirklich an dem synchron/asynchron liegt, dann werde ich das umstellen, aber meiner Meinung nach müsste das ja auch synchron gehen.. (gleichzeitg habe ich noch nie connected, also liegts nicht daran, dass es da einen gleichzeitigen Zugriff gibt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825900</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 21 Dec 2009 14:45:46 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 14:59:02 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Hmm. Ich dachte, dass es ja auch synchron gehen müsste. Wäre aber schon auch geplant das dann auf asynchrone Zugriffe einzustellen.<br />
Warum schnell genug? - Der sollte ja auch einfach warten..</p>
</blockquote>
<p>Um ehrlich zu sein: Ich hätte auch erwartet das es geht. Aber es sieht wohl so aus, als wenn accept nicht nachkommt.</p>
<p>drakon schrieb:</p>
<blockquote>
<p>Oder hat es da intern irgendwo einen Timeout? -</p>
</blockquote>
<p>Wenn ich ich recht entsinne, dass muss zu einem TCP Connect auf der Gegenstelle ein aktiver Acceptor sein. Sonst gibt es beim connecten einen Fehler.</p>
<p>drakon schrieb:</p>
<blockquote>
<p>Jap. Danach ist Schluss. Sprich die Schleife geht wieder nach oben und wartet auf einen neuen.</p>
</blockquote>
<p>Hmm, es passiert also quasi gar nichts. Dann ist es umso merkwürdiger, dass es zeitlich anscheinend nicht rumkommt. In welchem zeitlichen Abstand versuchen sie die Clients denn, sich zu verbinden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825912</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 21 Dec 2009 14:59:02 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 16:45:50 GMT]]></title><description><![CDATA[<p>[quote=&quot;Tachyon&quot;]</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Oder hat es da intern irgendwo einen Timeout? -</p>
</blockquote>
<p>Wenn ich ich recht entsinne, dass muss zu einem TCP Connect auf der Gegenstelle ein aktiver Acceptor sein. Sonst gibt es beim connecten einen Fehler.</p>
</blockquote>
<p>Den gibt es ja eigentlich immer, da ja in der Schleife gleich wieder nach oben gegangen wird und ein neuer (mittlerweilen ist es der gleiche) wieder wartet.</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Jap. Danach ist Schluss. Sprich die Schleife geht wieder nach oben und wartet auf einen neuen.</p>
</blockquote>
<p>Hmm, es passiert also quasi gar nichts. Dann ist es umso merkwürdiger, dass es zeitlich anscheinend nicht rumkommt. In welchem zeitlichen Abstand versuchen sie die Clients denn, sich zu verbinden?</p>
</blockquote>
<p>Hmm. Ich warte ein paar Sekunden. (Dafür ist dann ja auch die Ausgabe da, sprich ich gebe bevor ich acceptor.accept() aufrufe etwas auf der Konsole aus, damit ich sehe, dass er ja auch wieder da ist).</p>
<p>/EDIT<br />
Mir ist noch was merkwürdiges aufgefallen.<br />
Der socket im Client muss ja connect aufrufen, was dann im Server ( bei mir in accepting) auf das acceptor.accept ansprechen soll. Erst wenn da das accept angekommen ist, sollte ja der Client weiterfahren. Nun ist es aber so, dass der Client anscheinend ein connect machen kann ohne dass das beim Server dann weiter geht. (Anhand Debug Ausgaben habe ich das festgestellt). Sprich manchmal connecte sich der Client wirklich und es wird beim Server ebenfalls eine Ausgabe gemacht, oder der Client connected sich iwie mit dem Nirvana.. Aber die Fehlermeldung kriege ich mittlerweilen nicht mehr, obwohl ich prinzipiell nichts grosses am Code geändet habe..</p>
<p>Noch mehr Ideen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825939</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 21 Dec 2009 16:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 18:44:35 GMT]]></title><description><![CDATA[<p>Kannst Du mal den relevanten Client-Code posten, bitte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826061</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 21 Dec 2009 18:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 19:25:31 GMT]]></title><description><![CDATA[<p>Also für den Client benutze ich ziemlich genau das von hier:<br />
<a href="http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio/tutorial/tutdaytime1.html" rel="nofollow">http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio/tutorial/tutdaytime1.html</a></p>
<p>Bis zu dem for( ;; ) ist es sogar genau das gleiche. Und da scheint irgendwie das Problem zu sein.</p>
<p>Sprich <code>socket.connect</code> kommt zurück, ohne das beim Server <code>acceptor.accept</code> anschlägt.<br />
Ich dachte halt, dass der Socket da warten muss, bis er beim Server accepted ist, aber das scheint iwie nicht notwendig zu sein..</p>
<p>btw:<br />
Ich habe mir nochmal ein wenig Gedanken gemacht und ich finde, dass ich das gar nicht asynchron machen muss.. Macht imo keinen Sinn. Der Server wartet ja in einem eigenen Thread auf neue Clients und die Clients müssen warten bist überhaupt mal einen Verbindung zustande kommt, damit sie etwas weiter tun können. (Sprich Befehle vom Server erhalten).</p>
<p>/EDIT:<br />
Achso, nein, sorry. Ich habe ein anderes Query:</p>
<pre><code class="language-cpp">tcp::resolver::query query ( server.c_str (), port );
</code></pre>
<p>Da wird eine IP und ein Port angegeben. (Also lokale IP und Port 13)<br />
Hmm. Vlt. liegts am Port 13, dass er doch was findet.. Gleich mal testen.</p>
<p>/EDIT:<br />
Nein. Liegt anscheinend auch nicht am Port. Habe ein paar nicht zugewiesene Ports versucht, aber die geben wieder das gleiche Bild..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826068</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 21 Dec 2009 19:25:31 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 20:20:22 GMT]]></title><description><![CDATA[<p>Du hast da einen Mutex. Kann es sein, dass noch irgendetwas anderes das Ding lockt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826090</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 21 Dec 2009 20:20:22 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 20:21:56 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Du hast da einen Mutex. Kann es sein, dass noch irgendetwas anderes das Ding lockt?</p>
</blockquote>
<p>Ja, aber nicht zu dem Zeitpunkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826091</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 21 Dec 2009 20:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 20:47:30 GMT]]></title><description><![CDATA[<p>Sicher? Bei mir funktioniert der Code (oder das, was ich mit den gegeneben Informationen nachbasteln kann):</p>
<p>Server:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;boost/asio/io_service.hpp&gt;
#include &lt;boost/asio/ip/tcp.hpp&gt;
#include &lt;boost/thread.hpp&gt;
#include &lt;boost/ptr_container/ptr_list.hpp&gt;

using namespace boost::asio;
using namespace boost::asio::ip;

boost::asio::io_service server_io_service;
boost::ptr_list&lt; tcp::socket &gt; connections;
boost::mutex m;

void accepting ()
{
 for (;;)
 {
   tcp::acceptor acceptor (server_io_service, tcp::endpoint (tcp::v4(), 13) );

   tcp::socket* socket = new tcp::socket ( server_io_service );
   acceptor.accept ( *socket );
   {
     boost::lock_guard&lt;boost::mutex&gt; lock ( m );
     connections.push_back ( socket );
     std::cout &lt;&lt; &quot;Accepted...\n&quot;;
   }
 }
}	

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

}
</code></pre>
<p>Client:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;boost/array.hpp&gt;
#include &lt;boost/asio/io_service.hpp&gt;
#include &lt;boost/asio/ip/tcp.hpp&gt;

using boost::asio::ip::tcp;

int main(int argc, char* argv[])
{
    try
    {
        if (argc != 2)
        {
            std::cerr &lt;&lt; &quot;Usage: client &lt;host&gt;&quot; &lt;&lt; std::endl;
            return 1;
        }

        boost::asio::io_service io_service;

        tcp::resolver resolver(io_service);
        tcp::resolver::query query(argv[1], &quot;13&quot;);
        tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
        tcp::resolver::iterator end;

        tcp::socket socket(io_service);
        boost::system::error_code error = boost::asio::error::host_not_found;
        while (error &amp;&amp; endpoint_iterator != end)
        {
            socket.close();
            socket.connect(*endpoint_iterator++, error);
        }
        if (error)
            throw boost::system::system_error(error);
    }
    catch (std::exception&amp; e)
    {
        std::cerr &lt;&lt; e.what() &lt;&lt; std::endl;
    }
}
</code></pre>
<p>Mit dem oben stehenden Code kann ich Client starten so oft ich will. Die Verbindungen werden immer angenommen.<br />
Das einzige potentielle Hemmnis das mir auffällt ist der Mutex.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826103</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 21 Dec 2009 20:47:30 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 21 Dec 2009 20:55:36 GMT]]></title><description><![CDATA[<p>OK, Danke, werde da Morgen mal einen genauen Abgleich machen, was anderst läuft.. Sieht auf den ersten Moment ziemlich genau gleich aus, wie bei mir, aber mal schauen, wo die Kleinigkeit zu finden ist. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826110</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 21 Dec 2009 20:55:36 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Tue, 22 Dec 2009 12:03:47 GMT]]></title><description><![CDATA[<p>Hmm. Ich habs nochmal ausprobiert.</p>
<p>Jetzt war es so, dass ich den acceptor mittlerweilen aus der Funktion gezogen habe und ihn global gemacht habe, damit ich (z.B bei dir in der main vom Server) darauf zugreifen kann).<br />
Wenn ich den acceptor wieder in die Funktion nehme (wie bei dir wieder) scheint es zu gehen, aber ich habe jetzt dafür bei einem Client wieder die ganz oben genannte Fehlermeldung bekommen.. (Die kommt jetzt aber auch nicht jedes mal, sondern wie gesagt sporadisch). Das erste mal funktioniert dafür jetzt wieder anscheinend immer.</p>
<p>Den acceptor habe ich da rausgezogen, damit ich den Thread ganz normal beenden kann. Wie mache ich das denn ohne den? Wenn ich auf den Thread detach aufrufe, dann bekomme ich eine Zugriffsverletzung, welche vom acceptor herrührt.</p>
<p>Ich will sozusagen bei dir in der main des Servers eine Schleife haben, wo auf eine Konsoleneingabe gewartet wird. Und je nach dem kann man mit einer Eingabe dann den Server beenden. Dieser muss dafür aber auch den Thread beenden, was ja nicht geht, wenn der acceptor immer noch wartet. Das geht, wenn ich den acceptor raus nehme und dann kann ich da brav cancel und close auf den acceptor aufrufen und dann kann auch der Thread beendet werden. Allerdings habe ich dann wieder das Problem, dass das connecten nicht jedes mal funktioniert.. (geht ja auch nicht immer, wenn der acceptor in der Funktion ist..)</p>
<p>Mir scheint das alles sehr verzwickt zu sein, die eine Lösung für ein Problem andere Probleme erzeugt, welche nur gelöst werden können, wenn ich wieder auf den Ursprung zurück gehe.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826320</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Dec 2009 12:03:47 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Tue, 22 Dec 2009 13:34:49 GMT]]></title><description><![CDATA[<p>Ich sag ja, Du solltest die asynchronen Operationen benutzen. ASIO, das sagt schon der Name, ist für asynchrones IO optimiert.</p>
<p>Die synchronen Operationen kann man nicht mit ordentlichen Mitteln unterbrechen.</p>
<p>Wenn man z.B. ein <code>accept</code> <em>sauber</em> beenden will, ist der einzige Weg der mir einfällt, lokal einen Socket zu verbinden, und vorher durch ein Flag dafür zu sorgen, dass kein weiteres Mal <code>accept</code> aufgerufen wird. Man kann den Thread in dem das <code>accept</code> läuft natürlich auch einfach abwürgen, aber das ist mal richtig übel.</p>
<p>Bei async_accept reicht ein <code>acceptor.close()</code> , und ggf. aktive Handler kommen mit operation aborted zurück.</p>
<p>Der Code wird auch nicht wesentlich komplizierter. Dafür bekommst Du für die I/O-Operationen die jeweils optimale Strategie der benutzen Plattform.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826380</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 22 Dec 2009 13:34:49 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Tue, 22 Dec 2009 16:19:58 GMT]]></title><description><![CDATA[<p>Hehe. OK, ja das mit dem ASIO macht Sinn. <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>Aber ich verstehe trotzdem nicht, warum bei mir der Code nicht geht und warum die diese Fehlermeldung bekomme..<br />
Das blöde ist halt, dass mir das keine Ruhe lässt, bis ich weiss, woran es lag. Ich machs nachher mal mit dem async, aber naja.. Ich will wissen WARUM er mir da keine Verbindung aufbauen kann..</p>
<p>Naja. Auf jeden Fall schon mal vielen Dank für die Hilfe!</p>
<p>Vielleicht meldet sich sonst noch jemand, der Ahung von asio hat.</p>
<p>Nur noch kurz dem Grund, warum ich da synchrone Zugriffe habe. Ich denke halt einfach, warum sollte ich das asynchron machen, wenn ich es ja genau so synchron haben will? Grundsätzlich soll da ja gewartet werden bis etwas kommt und sonst soll einfach nix gemacht werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826469</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Dec 2009 16:19:58 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Tue, 22 Dec 2009 17:51:56 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Ich denke halt einfach, warum sollte ich das asynchron machen, wenn ich es ja genau so synchron haben will? Grundsätzlich soll da ja gewartet werden bis etwas kommt und sonst soll einfach nix gemacht werden.</p>
</blockquote>
<p>Du hast ja nichts wirklich Synchrones. Du baust Dir der asynchronen Teil umständlich selbst nach, indem Du synchrone Operationen in einen Worker-Thread auslagerst. Zumindest sagtest Du oben, dass Du das <code>accept</code> in einem Thread rennen lassen willst. Du willst es also asynchron. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Zu Deinem Problem: Zeig' nochmal das accept-Dingens, so wie Du es jetzt wirklich hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826508</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 22 Dec 2009 17:51:56 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Tue, 22 Dec 2009 18:08:28 GMT]]></title><description><![CDATA[<p>Jup. Das mit dem eigenen Thread ist mir dann auch in den Sinn gekommen, dass das eigl. asynchron nachspielt. <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="🙂"
    /> (aber ich meinte halt auch den ganzen Rest, welcher nicht wirklich asynchron sein muss)</p>
<p>Hier, wies jetzt iwie aussieht:<br />
<a href="http://codepad.org/HxdukNNx" rel="nofollow">http://codepad.org/HxdukNNx</a></p>
<p>Wenn ich im Server die asynchrone Version des accepting laufen lasse, dann kriege ich mit dem Client keine Verbindung mehr. Dann bekomme ich immer den Fehler, den ich bereits genannt habe..</p>
<p>Und beim Teil mit dem Thread kriege ich manchmal eine Verbindung (beim ersten mal immer) und irgendwann dann gar nicht mehr.</p>
<p>btw:<br />
Im synchronen accepting siehst du noch das, was du mit dem Flag angedeutet hast. (hatte ich schon vor deinem Vorschlag so drin ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826519</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Dec 2009 18:08:28 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Wed, 23 Dec 2009 11:26:07 GMT]]></title><description><![CDATA[<p>Also ich bin jetzt mal komplett auf Tachyons Beispiel zurückgegangen und habe das getestet. Sehr merkwürdiges Bild.</p>
<p>Das erste mal gingen 4 Connects, der 5te ging nicht mehr (gab den obigen Fehler).</p>
<p>Bei dravere scheint der Code (oder besser die Binarys) zu gehen. Also am Code liegts nicht, boost habe ich ebenfalls auf den neusten Stand gebracht, daran liegts auch nicht. OS, hat dravere gesagt hat er WinXP Prof, SP 3 mit/ohne Firewall gehts. Ich habe die gleichen Sachen, aber bei mir gehts nicht. Andere Firewall, wie die Standard von MS habe ich nicht aktiviert.</p>
<p>Ich habe echt keine Idee mehr, an was es liegen könnte. Jemand sonst eine gute (oder überhaupt eine) Idee?</p>
<p>Ich probier das ganze Morgen mal auf einem anderen PC. Langsam nervts mich.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>/EDIT:<br />
Auf meinem Netbook funktioniert das ganze ebenfalls wunderbar.. Aber einfach hier nicht.. Anyone ne Idee, welche Einstellungen das scheinen zu sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826619</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 23 Dec 2009 11:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Wed, 23 Dec 2009 16:01:07 GMT]]></title><description><![CDATA[<p>Niemand mehr eine Idee, wo ich den Fehler suchen könnte?</p>
<p>Wie gesagt. An dem Code wirds nicht liegen, sondern an irgendwelchen Einstellungen, aber ich wüsste nicht, was ich, was das anbelangt anderst eingestellt haben könnte.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826852</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 23 Dec 2009 16:01:07 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 28 Dec 2009 17:58:58 GMT]]></title><description><![CDATA[<p>Also ich habe den Fehler nun. Es lag anscheinend daran, dass Zonealarm da irgendwas durch eine Hintertür blockiert, obwohl das Programm gar nicht läuft. Deinstallation hat geholfen.</p>
<p>Danke nochmal an Tachyon!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828971</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 28 Dec 2009 17:58:58 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 28 Dec 2009 18:47:10 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Zonealarm</p>
</blockquote>
<p><a href="http://de.answers.yahoo.com/question/index?qid=20090427095158AA7qTua" rel="nofollow">EPIC FAIL!</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828994</guid><dc:creator><![CDATA[HeFails]]></dc:creator><pubDate>Mon, 28 Dec 2009 18:47:10 GMT</pubDate></item><item><title><![CDATA[Reply to boost.asio - Es konnte keine Verbindung hergestellt werden.. on Mon, 28 Dec 2009 18:58:39 GMT]]></title><description><![CDATA[<p>HeFails schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Zonealarm</p>
</blockquote>
<p><a href="http://de.answers.yahoo.com/question/index?qid=20090427095158AA7qTua" rel="nofollow">EPIC FAIL!</a></p>
</blockquote>
<p>Ich hatte das Programm nicht zu meinem Schutz auf dem PC und habe ich daher auch nicht wirklich benutzt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828997</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 28 Dec 2009 18:58:39 GMT</pubDate></item></channel></rss>