<?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[Gelöscht]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243029/gelöscht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 09:24:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243029.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 Jun 2009 12:02:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gelöscht on Mon, 21 Jan 2013 11:13:05 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725001</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 21 Jan 2013 11:13:05 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Thu, 11 Jun 2009 12:19:17 GMT]]></title><description><![CDATA[<p>UDP für schnelle Positionswechsel verwenden. Richtig programmiert ruckelt da nix, außer ihr LAGt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725006</guid><dc:creator><![CDATA[lagg0r]]></dc:creator><pubDate>Thu, 11 Jun 2009 12:19:17 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Mon, 21 Jan 2013 11:13:20 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725024</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 21 Jan 2013 11:13:20 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Thu, 11 Jun 2009 14:31:53 GMT]]></title><description><![CDATA[<p>kA, aber nonblocking ist schon ok. Aktualisiere die Position halt bei jeder Änderung sofort. Mach dir keine Gedanken über Traffic, das ist heutzutage zu vernachlässigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725068</guid><dc:creator><![CDATA[lagg0r]]></dc:creator><pubDate>Thu, 11 Jun 2009 14:31:53 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Thu, 11 Jun 2009 20:13:06 GMT]]></title><description><![CDATA[<p>@sk0r: bei TCP solltest du den Nagle's Algorithm ausdrehen. Unter Windows macht man das mit TCP_NODELAY.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms817942.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms817942.aspx</a><br />
<a href="http://msdn.microsoft.com/en-us/library/ms740476.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms740476.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725260</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 11 Jun 2009 20:13:06 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Fri, 12 Jun 2009 10:43:58 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>bei TCP solltest du den Nagle's Algorithm ausdrehen.</p>
</blockquote>
<p>eine andere geschwindigkeitsbremse des ist das: <a href="http://support.microsoft.com/kb/328890" rel="nofollow">http://support.microsoft.com/kb/328890</a><br />
(auf 1 stellen)<br />
<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>
]]></description><link>https://www.c-plusplus.net/forum/post/1725510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725510</guid><dc:creator><![CDATA[+fricky]]></dc:creator><pubDate>Fri, 12 Jun 2009 10:43:58 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Fri, 12 Jun 2009 15:42:09 GMT]]></title><description><![CDATA[<p>lagg0r schrieb:</p>
<blockquote>
<p>Mach dir keine Gedanken über Traffic, das ist heutzutage zu vernachlässigen.</p>
</blockquote>
<p>das stimmt gerade bei games nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725661</guid><dc:creator><![CDATA[quatsch0r]]></dc:creator><pubDate>Fri, 12 Jun 2009 15:42:09 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Sat, 13 Jun 2009 07:32:02 GMT]]></title><description><![CDATA[<p>+fricky schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>bei TCP solltest du den Nagle's Algorithm ausdrehen.</p>
</blockquote>
<p>eine andere geschwindigkeitsbremse des ist das: <a href="http://support.microsoft.com/kb/328890" rel="nofollow">http://support.microsoft.com/kb/328890</a><br />
(auf 1 stellen)<br />
<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>
</blockquote>
<p>Delayed-Ack wirkt sich AFAIK nur im Zusammenspiel mit Nagle's Algorithm verzögernd aus.<br />
Wenn auf beiden Seiten Nagle's deaktiviert ist, kann Delayed-Ack ruhig eingeschaltet bleiben.<br />
Da man Nagle's auf Socket-Ebene kontrollieren kann, würde ich sagen ist das der bessere Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725879</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 13 Jun 2009 07:32:02 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Sat, 13 Jun 2009 07:45:14 GMT]]></title><description><![CDATA[<p>BTW:</p>
<p>lagg0r schrieb:</p>
<blockquote>
<p>UDP für schnelle Positionswechsel verwenden. Richtig programmiert ruckelt da nix, außer ihr LAGt.</p>
</blockquote>
<p>Es ruckelt schnell mal was, wenn man kein dead reckoning verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725881</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 13 Jun 2009 07:45:14 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Sat, 13 Jun 2009 08:19:50 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Wenn auf beiden Seiten Nagle's deaktiviert ist, kann Delayed-Ack ruhig eingeschaltet bleiben.</p>
</blockquote>
<p>nee, das sind zwei verschiedene dinge. aber wenn 2 windoofs-kisten untereinander kommunizieren, wahrscheinlich sowieso egal. nur wenn einer auf das ACK angewiesen ist, bevor er das nächste paket sendet (ein pufferloses TCP z.b.), dann muss 'delayed ack' ausgeschaltet werden, ansonsten haste pro paket eine wartezeit von 0.2s<br />
<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>
]]></description><link>https://www.c-plusplus.net/forum/post/1725884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725884</guid><dc:creator><![CDATA[+fricky]]></dc:creator><pubDate>Sat, 13 Jun 2009 08:19:50 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Sat, 13 Jun 2009 23:57:46 GMT]]></title><description><![CDATA[<p>+fricky schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Wenn auf beiden Seiten Nagle's deaktiviert ist, kann Delayed-Ack ruhig eingeschaltet bleiben.</p>
</blockquote>
<p>nee, das sind zwei verschiedene dinge. aber wenn 2 windoofs-kisten untereinander kommunizieren, wahrscheinlich sowieso egal. nur wenn einer auf das ACK angewiesen ist, bevor er das nächste paket sendet (ein pufferloses TCP z.b.), dann muss 'delayed ack' ausgeschaltet werden, ansonsten haste pro paket eine wartezeit von 0.2s<br />
<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>
</blockquote>
<p>Ja das sind zwei verschiedene Dinge, aber sie spielen zusammen.<br />
Wenn Delayed-ACK eingeschaltet ist, dann kommen ACKs später an als sonst. Im schlimmsten Fall eben 200ms später.<br />
Wenn AKCs nun aber 200ms später ankommen, dann kann es sein, dass Nagle's eben diese 200ms wartet, bis er das nächste Paket verschickt.</p>
<p>Nagle's Algorithm:</p>
<blockquote>
<pre><code>if there is new data to send
  if the window size &gt;= MSS and available data is &gt;= MSS
    send complete MSS segment now
  else
    if there is unconfirmed data still in the pipe     &lt;-------- HIER PROBLEM wenn der andere Delayed ACK verwendet
      enqueue data in the buffer until an acknowledge is received
    else
      send data immediately
    end if
  end if
end if
</code></pre>
</blockquote>
<p>Das Problem ergibt sich dann, wenn ein Flusswechsel stattfindet. Beispiel wo A ein Stück Daten welches aus drei Paketen besteht an B senden will, und dann auf eine Antwort von B wartet.</p>
<p>* A sendet ein Paket an B. Erstes Paket geht sofort raus.<br />
* B empfängt, und schickt ein ACK.<br />
* A sendet ein zweites Paket. Das geht raus sobald das ACK von B empfangen wurde (sagen wir das geht halbwegs schnell).<br />
* B empfängt das 2. Paket, sendet aber kein ACK, weil Delayed ACK.<br />
* A will ein drittes Paket senden, das wird aber vom Nagle gepuffert (weil &quot;unconfirmed data still in the pipe&quot; - A wartet ja noch auf das 2. ACK von <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /><br />
* A wartet auf die Antwort von B. B hat aber noch garnicht alle Daten erhalten, weil A noch auf das 2. ACK wartet -&gt; Delay, bis irgendwo irgendwelche Timeouts ablaufen.</p>
<p>----</p>
<p>Delayed-ACK stellt für sich genommen kein Problem dar, führt also nicht zu irgendwelchen &quot;lags&quot;. Nur in Kombination mit Nagle's ergibt sich das oben skizzierte Verhalten, und deswegen dreht man Nagle's ab, wenn man will das Daten schnell ankommen.</p>
<blockquote>
<p>ein pufferloses TCP z.b.</p>
</blockquote>
<p>WTF? Ist das sowas wie ein Auto ohne Motor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1726197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1726197</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 13 Jun 2009 23:57:46 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Sun, 14 Jun 2009 00:26:11 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>ein pufferloses TCP z.b.</p>
</blockquote>
<p>WTF? Ist das sowas wie ein Auto ohne Motor?</p>
</blockquote>
<p>so ähnlich. TCPs in mikrocontrollern mit sehr wenig RAM haben keinen ausgangs-FIFO (dieses z.b. <a href="http://sourceforge.net/projects/opentcp/" rel="nofollow">http://sourceforge.net/projects/opentcp/</a> )sondern arbeiten nach dem 'ping-pong prinzip', d.h. das nächste paket wird erst geschickt, wenn das ACK für das vorherige paket eingetrudelt ist. lässt sich die windows-kiste nun 0.2s zeit mit dem ACK, kannste dir vorstellen, wie langsam das ganze ist.<br />
<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>
]]></description><link>https://www.c-plusplus.net/forum/post/1726204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1726204</guid><dc:creator><![CDATA[+fricky]]></dc:creator><pubDate>Sun, 14 Jun 2009 00:26:11 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Sun, 14 Jun 2009 02:39:12 GMT]]></title><description><![CDATA[<p>Hm <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="🙂"
    /><br />
Naja sowas muss man denke ich nicht berücksichtigen <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="😃"
    /><br />
Ein Puffer für ein oder zwei Pakete würde da ja bereits ausreichen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1726214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1726214</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 14 Jun 2009 02:39:12 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöscht on Sun, 14 Jun 2009 08:10:37 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Naja sowas muss man denke ich nicht berücksichtigen</p>
</blockquote>
<p>zumindest hat's mit der frage des OP nichts mehr zu tun. ansonsten wird TCP gern genommen, um embedded systeme mit den pc-kisten kommunizieren zu lassen.</p>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Ein Puffer für ein oder zwei Pakete würde da ja bereits ausreichen...</p>
</blockquote>
<p>ja, für ein paket. dann kann man schnell zwei TCP segmente hintereinander senden (sofern die summe beider paketlängen die window-size des empfängers nicht überschreitet), um sofort ein ACK zu bekommen.<br />
<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>
]]></description><link>https://www.c-plusplus.net/forum/post/1726231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1726231</guid><dc:creator><![CDATA[+fricky]]></dc:creator><pubDate>Sun, 14 Jun 2009 08:10:37 GMT</pubDate></item></channel></rss>