<?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[Netzwerk mit Boost, Server mit mehreren verbindungen]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>wenn man einen TCP-Server schreiben möchte und dabei davon asugeht, dass gleichzeitig mehrere Clients bedient werden müssen, muss dann für jeden dieser clients ein eigener socket angelegt werden oder reicht es einen Socket anzulegen und nur die endpoints der clients zu verwalten, sodass der Datentransfer komplett über einen socket läuft? Gibts da überhaupt eine Faustregel oder ist das Fallabhängig? Konkret verwende ich die boost::asio Bibliothek.</p>
<p>Angemerkt sei noch, dass nach einer etablierten Verbindung Daten auch ohne vorherige Anfrage des Clients gesendet werden sollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/324272/netzwerk-mit-boost-server-mit-mehreren-verbindungen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 14:54:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324272.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Mar 2014 10:50:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 10:50:53 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>wenn man einen TCP-Server schreiben möchte und dabei davon asugeht, dass gleichzeitig mehrere Clients bedient werden müssen, muss dann für jeden dieser clients ein eigener socket angelegt werden oder reicht es einen Socket anzulegen und nur die endpoints der clients zu verwalten, sodass der Datentransfer komplett über einen socket läuft? Gibts da überhaupt eine Faustregel oder ist das Fallabhängig? Konkret verwende ich die boost::asio Bibliothek.</p>
<p>Angemerkt sei noch, dass nach einer etablierten Verbindung Daten auch ohne vorherige Anfrage des Clients gesendet werden sollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2387997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2387997</guid><dc:creator><![CDATA[Freddy_Kay]]></dc:creator><pubDate>Mon, 10 Mar 2014 10:50:53 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 11:01:36 GMT]]></title><description><![CDATA[<p>Dazu reicht ein Socket. In der asio-Doku findest du Tutorials genau zu diesem Thema:</p>
<p><a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html</a><br />
<a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388003</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 10 Mar 2014 11:01:36 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 11:48:19 GMT]]></title><description><![CDATA[<p>Hallo Freddy,</p>
<p>aus der englischen Wikipedia (Socket): &quot;A network socket is an endpoint of an inter-process communication flow across a computer network.&quot; - also endpoint und socket ist quasi das selbe. Und wenn die Clients nicht alle gemeinsam auf einem einzigen Computer sitzen, dann musst Du natürlich für jeden Client einen Socket haben.</p>
<p>Schau Dir die Beispiele in der Doku zu boost.asio an. Für jeden Client ein &quot;Connection&quot;-Objekt - das würde ich als gegeben ansehen. Mit boost.asio kannst Du mehrere Verbindungen (Connections) mit natürlich je einem - also in Summe mehreren Sockets - in einem Thread bearbeiten (genau dafür ist es ja gemacht worden!).</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388010</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 10 Mar 2014 11:48:19 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 11:47:20 GMT]]></title><description><![CDATA[<p>Pellaeon schrieb:</p>
<blockquote>
<p>Dazu reicht ein Socket. In der asio-Doku findest du Tutorials genau zu diesem Thema:</p>
<p><a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html</a></p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
in den dort aufgeführten Beispielen (z.B. datime-Server) wird mit jedem neuen <code>accept</code> eine neue Verbindung mit neuem Socket bzw. bei dem synchronen Beispiel ein neuer Socket angelegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388011</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 10 Mar 2014 11:47:20 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 11:54:46 GMT]]></title><description><![CDATA[<p>Es gibt mehr Moeglichkeiten mittels select, epoll etc. Bevor du zu Boost oder einer anderen Bibliothek greifst, rate ich dir, dich mit den Grundlagen vertraut zu machen: <a href="http://beej.us/guide/bgnet/" rel="nofollow">http://beej.us/guide/bgnet/</a></p>
<blockquote>
<p>sodass der Datentransfer komplett über einen socket läuft?</p>
</blockquote>
<p>Ja, dass ist moeglich. bzw. haengt es von Anwendungsfal und Umstaenden ab, was besser ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388013</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 10 Mar 2014 11:54:46 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 12:12:32 GMT]]></title><description><![CDATA[<p>Pellaeon schrieb:</p>
<blockquote>
<p>Dazu reicht ein Socket. In der asio-Doku findest du Tutorials genau zu diesem Thema:</p>
<p><a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html</a><br />
<a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples.html</a></p>
</blockquote>
<p>Es werden in allen Beispielen jeweils ein socket / connection verwendet ;).</p>
<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Hallo Freddy,</p>
<p>aus der englischen Wikipedia (Socket): &quot;A network socket is an endpoint of an inter-process communication flow across a computer network.&quot; - also endpoint und socket ist quasi das selbe. Und wenn die Clients nicht alle gemeinsam auf einem einzigen Computer sitzen, dann musst Du natürlich für jeden Client einen Socket haben.</p>
<p>Schau Dir die Beispiele in der Doku zu boost.asio an. Für jeden Client ein &quot;Connection&quot;-Objekt - das würde ich als gegeben ansehen. Mit boost.asio kannst Du mehrere Verbindungen (Connections) mit natürlich je einem - also in Summe mehreren Sockets - in einem Thread bearbeiten (genau dafür ist es ja gemacht worden!).</p>
<p>Gruß<br />
Werner</p>
</blockquote>
<p>Dass es dasselbe ist sehe ich so nicht. ein Socket ist ein tupel bestehend aus localIP, localPort, remoteIP, remotePort und protocol. Hat also egtl 2 Enpoints, wobei sich bei mir nur der RemoteEndpoint bei den Verbindungen unterscheidet.</p>
<p>Ich kann natürlich strikt nach den Beispielen vorgehen, will das aber selbst machen, da das Verständnis dann deutlich besser ist. Im übrigen wollt ich wissen obs einen Grund gibt auf mehrere sockets zu verzichten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388015</guid><dc:creator><![CDATA[Freddy_Kay]]></dc:creator><pubDate>Mon, 10 Mar 2014 12:12:32 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 12:14:52 GMT]]></title><description><![CDATA[<p>Hallo Pellaeon, hallo knivil,</p>
<p>klärt mich doch mal auf - ich lerne ja gerne hinzu! - wie läuft der Datenverkehr von zwei Clients (auf zwei unterschiedlichen Netzknoten versteht sich) über einen einzigen Socket?<br />
Oder postet den Link auf ein entsprechendes Beispiel in boost.asio oder sonst wo.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388016</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 10 Mar 2014 12:14:52 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 12:34:06 GMT]]></title><description><![CDATA[<p>Freddy_Kay schrieb:</p>
<blockquote>
<p>Pellaeon schrieb:</p>
<blockquote>
<p>Dazu reicht ein Socket. In der asio-Doku findest du Tutorials genau zu diesem Thema:</p>
<p><a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html</a><br />
<a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples.html</a></p>
</blockquote>
<p>Es werden in allen Beispielen jeweils ein socket / connection verwendet ;).</p>
</blockquote>
<p>Hmm !? - vielleicht meinen wir mit 'Socket' verschiedene Dinge.<br />
Nehmen wir doch mal ganz konkret das Beispiel zum asynchronen DayTimeServer - siehe <a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime3.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime3.html</a>.<br />
Dort wird ein <code>server</code> -Objekt angelegt. Im Konstruktor des <code>server</code> s wird <code>start_accept</code> gerufen. In <code>start_accept</code> wird ein neues(!) Objekt der Klasse <code>tcp_connection</code> angelegt, die ein <code>boost::asio::socket</code> -Objekt als Member enthält.<br />
Unter der Annahme, dass sich hinter dem <code>boost::asio::socket</code> eine Socket-Struktur des Betriebssystem verbirgt, kommt mit jeder Verbindung ein neuer Socket dazu.</p>
<p>Bei dem synchronen Beispiel ist es ähnlich (<a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime2.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime2.html</a>). Nur das dort immer nur genau ein socket gerade zu einer Zeit aktiv ist. Es ist ein lokales Objekt in einer for-schleife.</p>
<p>oder sehe ich das falsch?</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388020</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 10 Mar 2014 12:34:06 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 12:47:47 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Freddy_Kay schrieb:</p>
<blockquote>
<p>Pellaeon schrieb:</p>
<blockquote>
<p>Dazu reicht ein Socket. In der asio-Doku findest du Tutorials genau zu diesem Thema:</p>
<p><a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html</a><br />
<a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples.html</a></p>
</blockquote>
<p>Es werden in allen Beispielen jeweils ein socket / connection verwendet ;).</p>
</blockquote>
<p>Hmm !? - vielleicht meinen wir mit 'Socket' verschiedene Dinge.<br />
Nehmen wir doch mal ganz konkret das Beispiel zum asynchronen DayTimeServer - siehe <a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime3.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime3.html</a>.<br />
Dort wird ein <code>server</code> -Objekt angelegt. Im Konstruktor des <code>server</code> s wird <code>start_accept</code> gerufen. In <code>start_accept</code> wird ein neues(!) Objekt der Klasse <code>tcp_connection</code> angelegt, die ein <code>boost::asio::socket</code> -Objekt als Member enthält.<br />
Unter der Annahme, dass sich hinter dem <code>boost::asio::socket</code> eine Socket-Struktur des Betriebssystem verbirgt, kommt mit jeder Verbindung ein neuer Socket dazu.</p>
<p>Bei dem synchronen Beispiel ist es ähnlich (<a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime2.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime2.html</a>). Nur das dort immer nur genau ein socket gerade zu einer Zeit aktiv ist. Es ist ein lokales Objekt in einer for-schleife.</p>
<p>oder sehe ich das falsch?</p>
<p>Gruß<br />
Werner</p>
</blockquote>
<p>Du siehst das richtig ich meinte: Es werden in allen Beispielen jeweils ein socket PRO connection verwendet ;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388024</guid><dc:creator><![CDATA[Freddy_Kay]]></dc:creator><pubDate>Mon, 10 Mar 2014 12:47:47 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 12:49:18 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Pellaeon schrieb:</p>
<blockquote>
<p>Dazu reicht ein Socket. In der asio-Doku findest du Tutorials genau zu diesem Thema:</p>
<p><a href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html" rel="nofollow">http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial.html</a></p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
in den dort aufgeführten Beispielen (z.B. datime-Server) wird mit jedem neuen <code>accept</code> eine neue Verbindung mit neuem Socket bzw. bei dem synchronen Beispiel ein neuer Socket angelegt.</p>
</blockquote>
<p>Hast recht, da war ich zu voreilig <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="😞"
    /> . Der ioService wird geteilt, nicht der Socket. Man kann auf einem Port mehrere eingehende Verbindungen verwalten, aber in den asio-Tuts hat man dafür immer ein neues Socket-Objekt.</p>
<p>VG</p>
<p>Pellaeon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388026</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 10 Mar 2014 12:49:18 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 13:06:52 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>wie läuft der Datenverkehr von zwei Clients (auf zwei unterschiedlichen Netzknoten versteht sich) über einen einzigen Socket</p>
</blockquote>
<p>Man erstellt einen Socket und macht ein bind/listen im Falle von TCP. Einhgehenden Verbindungen benutzen diesen um zu connecten. Bei accept/connect wird daraus ein neuer abgeleitet. Benutzt man kein TCP sondern bspw. UDP dann laufen nicht nur die Verbindungsabffragen ueber einen Socket, sondern vielleicht der gesamte Datenverkehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388027</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 10 Mar 2014 13:06:52 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 13:07:32 GMT]]></title><description><![CDATA[<p>Hallo Freddy,</p>
<p>Freddy_Kay schrieb:</p>
<blockquote>
<p>... ich meinte: Es werden in allen Beispielen jeweils ein socket PRO connection verwendet ;).</p>
</blockquote>
<p>Ok - ich hatte das eher als &quot;nur ein socket und nur eine connection&quot; interpretiert.</p>
<p>Freddy_Kay schrieb:</p>
<blockquote>
<p>Dass es dasselbe ist sehe ich so nicht. ein Socket ist ein tupel bestehend aus localIP, localPort, remoteIP, remotePort und protocol. Hat also egtl 2 Enpoints, wobei sich bei mir nur der RemoteEndpoint bei den Verbindungen unterscheidet.</p>
</blockquote>
<p>Das ist mir bekannt, nur wie willst Du einen Endpoint ohne Socket ansprechen? Oder mit einem Socket ansprechen, der auf einen anderen Endpoint zeigt - Wie funktioniert so was?</p>
<p>Knivil behauptet ja auch, dass das geht - siehe auch <a href="http://www.c-plusplus.net/forum/p2246404#2246404" rel="nofollow">http://www.c-plusplus.net/forum/p2246404#2246404</a><br />
.. würde mich mal interessieren.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388030</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 10 Mar 2014 13:07:32 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 13:13:44 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>Werner Salomon schrieb:</p>
<blockquote>
<p>wie läuft der Datenverkehr von zwei Clients (auf zwei unterschiedlichen Netzknoten versteht sich) über einen einzigen Socket</p>
</blockquote>
<p>Man erstellt einen Socket und macht ein bind/listen im Falle von TCP. Einhgehenden Verbindungen benutzen diesen um zu connecten. Bei accept/connect wird daraus ein neuer abgeleitet.</p>
</blockquote>
<p>Ja klar, genauso gehe ich auch vor - nur mit mit dem &quot;.. wird daraus ein neuer abgeleitet&quot; hast Du doch mehr als einen - oder?<br />
Und mit dem einen Socket kann doch auch nur mit einem Client reden. Nach einem neuen <code>accept</code> gebe ich die eventuell bestehende Verbindung doch auf, wenn ich vorher keinen neuen davon abgeleitet habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388031</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 10 Mar 2014 13:13:44 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 13:26:02 GMT]]></title><description><![CDATA[<p>Server<br />
tcp: socket (create socket for listening) -&gt; bind -&gt; listen -&gt; accept (get a socket for that connection)<br />
udp: socket -&gt; bind -&gt; recvfrom (client identification through metainformation from udp packet)</p>
<p>Und ja, ich habe mehr als einen. Beim Vorgehen ist man an die Api/Framework gebunden.</p>
<blockquote>
<p>Nach einem neuen accept gebe ich die eventuell bestehende Verbindung doch auf, wenn ich vorher keinen neuen davon abgeleitet habe.</p>
</blockquote>
<p>Nein, ein accept leitet immer einen weiteren Socket ab, bestehende werden nicht terminiert, ausser du verwendest die gleiche Variable und ueberschreibst diese (keine Ahnung, ob es ein Fehler gibt). Aber prinzipiell kann man bei TCP nur einen Socket pro Verbindung haben bzw. eine Verbundung pro Socket haben. Im Fall von TCP hast du recht, doch es ist ... komplizierter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388034</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 10 Mar 2014 13:26:02 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 14:04:25 GMT]]></title><description><![CDATA[<p>Werner Salomon schrieb:</p>
<blockquote>
<p>Hallo Freddy,</p>
<p>Freddy_Kay schrieb:</p>
<blockquote>
<p>... ich meinte: Es werden in allen Beispielen jeweils ein socket PRO connection verwendet ;).</p>
</blockquote>
<p>Ok - ich hatte das eher als &quot;nur ein socket und nur eine connection&quot; interpretiert.</p>
<p>Freddy_Kay schrieb:</p>
<blockquote>
<p>Dass es dasselbe ist sehe ich so nicht. ein Socket ist ein tupel bestehend aus localIP, localPort, remoteIP, remotePort und protocol. Hat also egtl 2 Enpoints, wobei sich bei mir nur der RemoteEndpoint bei den Verbindungen unterscheidet.</p>
</blockquote>
<p>Das ist mir bekannt, nur wie willst Du einen Endpoint ohne Socket ansprechen? Oder mit einem Socket ansprechen, der auf einen anderen Endpoint zeigt - Wie funktioniert so was?</p>
<p>Knivil behauptet ja auch, dass das geht - siehe auch <a href="http://www.c-plusplus.net/forum/p2246404#2246404" rel="nofollow">http://www.c-plusplus.net/forum/p2246404#2246404</a><br />
.. würde mich mal interessieren.</p>
<p>Gruß<br />
Werner</p>
</blockquote>
<p>Naja zu Beginn habe ich mich gefragt ob es zwingend nötig ist für jede Connection ein eigenes &quot;socket-Objekt&quot; zu verwalten (mit allem was dazugehört), also ob sie für jede Verbindung einzigartig sein müssen, oder ob es &quot;quasi&quot; ein globales Socket Objekt geben kann dessen RemoteAdresse immer so gesetzt wird, dass der Richtige Client bedient wird. Also für jede Verbindung würde das entsprechende endpoint-objekt verwaltet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388043</guid><dc:creator><![CDATA[Freddy_Kay]]></dc:creator><pubDate>Mon, 10 Mar 2014 14:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 14:57:54 GMT]]></title><description><![CDATA[<p>Und was hast du durch die bisherigen Antworten erfahren? Welche Unklarheiten gibt es?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388057</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 10 Mar 2014 14:57:54 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerk mit Boost, Server mit mehreren verbindungen on Mon, 10 Mar 2014 20:07:31 GMT]]></title><description><![CDATA[<p>Freddy_Kay schrieb:</p>
<blockquote>
<p>Dass es dasselbe ist sehe ich so nicht. ein Socket ist ein tupel bestehend aus localIP, localPort, remoteIP, remotePort und protocol. Hat also egtl 2 Enpoints, wobei sich bei mir nur der RemoteEndpoint bei den Verbindungen unterscheidet.</p>
</blockquote>
<p>Was du beschreibst ist kein Socket, sondern eine Connection.<br />
Ein Socket ist ein etwas abstrakteres Ding.</p>
<p>Aber um es kurz zu machen: wenn du nen Server hast, der mehrere TCP Connections gleichzeitig bedienen kann, dann brauchst du einen Socket um Verbindungen anzunehmen (den &quot;Server Socket&quot;), und pro Verbindung nochmal einen extra Socket.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388115</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 10 Mar 2014 20:07:31 GMT</pubDate></item></channel></rss>