<?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[schnelle Netzwerkübertragung ohne Rückmeldungen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich suche nach guten Methoden, schnell Datenpackete an einen Client zu<br />
übertragen. Dazu darf das Programm aber nicht stehenbleiben, bis das<br />
Datenpacket auf dem Clientrechner bestätigt wurde. Ich dachte da an<br />
DirectPlay, da in Spielen so etwas eigentlich Gang und Gebe ist.<br />
Wichtig ist nur, das ich ein Array als ganzes Packet an einen Rechner<br />
schicken kann und dann der Rechner sich um die Übertragung kümmert, während<br />
sich das nächste Array füllen kann.<br />
Mit einer Verzögerung zum Client habe ich keine Probleme, allerdings<br />
sollten die Packete halt genauso nacheinander eintrudeln, wie ich sie<br />
geschickt habe.</p>
<p>Hat jemand so etwas schon mal gemacht ? oder eine Idee mit einer<br />
Komponente (DirectPlay?) ?</p>
<p>Gruß<br />
NoName</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/116513/schnelle-netzwerkübertragung-ohne-rückmeldungen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 03:34:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/116513.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Jul 2005 16:54:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to schnelle Netzwerkübertragung ohne Rückmeldungen on Wed, 27 Jul 2005 16:54:11 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich suche nach guten Methoden, schnell Datenpackete an einen Client zu<br />
übertragen. Dazu darf das Programm aber nicht stehenbleiben, bis das<br />
Datenpacket auf dem Clientrechner bestätigt wurde. Ich dachte da an<br />
DirectPlay, da in Spielen so etwas eigentlich Gang und Gebe ist.<br />
Wichtig ist nur, das ich ein Array als ganzes Packet an einen Rechner<br />
schicken kann und dann der Rechner sich um die Übertragung kümmert, während<br />
sich das nächste Array füllen kann.<br />
Mit einer Verzögerung zum Client habe ich keine Probleme, allerdings<br />
sollten die Packete halt genauso nacheinander eintrudeln, wie ich sie<br />
geschickt habe.</p>
<p>Hat jemand so etwas schon mal gemacht ? oder eine Idee mit einer<br />
Komponente (DirectPlay?) ?</p>
<p>Gruß<br />
NoName</p>
]]></description><link>https://www.c-plusplus.net/forum/post/840223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840223</guid><dc:creator><![CDATA[thenoname]]></dc:creator><pubDate>Wed, 27 Jul 2005 16:54:11 GMT</pubDate></item><item><title><![CDATA[Reply to schnelle Netzwerkübertragung ohne Rückmeldungen on Wed, 27 Jul 2005 17:00:16 GMT]]></title><description><![CDATA[<p>Nasonsten versuch doch mal UDP das ist doch auch stateless, oder spinn ich da?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/840228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840228</guid><dc:creator><![CDATA[Physikalischer Fehler]]></dc:creator><pubDate>Wed, 27 Jul 2005 17:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to schnelle Netzwerkübertragung ohne Rückmeldungen on Wed, 27 Jul 2005 18:34:01 GMT]]></title><description><![CDATA[<p>thenoname schrieb:</p>
<blockquote>
<p>ich suche nach guten Methoden, schnell Datenpackete an einen Client zu übertragen.</p>
</blockquote>
<p>da ist tcp eigentlich ganz ok.</p>
<blockquote>
<p>Dazu darf das Programm aber nicht stehenbleiben, bis das<br />
Datenpacket auf dem Clientrechner bestätigt wurde.</p>
</blockquote>
<p>gut. tcp wartet nämlich nicht. außer natürlich,m du baust in deiner anwendungslogik ein dümmliches warten ein, zum beispiel, daß du alle happen, die du schickst, sofort bestätigt haben magst. aber das machste ja nicht. du läßt dir gar nix bestätigen. das erleigt tcp alles.</p>
<blockquote>
<p>Ich dachte da an DirectPlay, da in Spielen so etwas eigentlich Gang und Gebe ist.</p>
</blockquote>
<p>meinetwegen.</p>
<blockquote>
<p>Wichtig ist nur, das ich ein Array als ganzes Packet an einen Rechner<br />
schicken kann und dann der Rechner sich um die Übertragung kümmert, während<br />
sich das nächste Array füllen kann.</p>
</blockquote>
<p>du machst also send(socket,...) und während dieses aufrufs kopiert der rechner nur die daten in interne datenpuffer des bestribssystems und das bestriebssystem liefert aus so schnell das netzwerk es eben schafft und so schnell der client (verzögert) bestätigt. sagen wir mal, der empfänger hat ein empfangspufferfenster von 10 pakten und der sender kann einfach so 10 pakete schicken. erst bei dem 11. paket würde er warten müssen, bis das erste bestätigt ist. so kannste normalerweise full speed schicken und der empfänger nimmt einfach an, was er kriegt und bestätigt hin und wieder mal. allerdings, wenn der empfänger zu langsam ist, wird der sender auch in seiner sendewut gebremst. das ist tcp. nimm es einfach.</p>
<blockquote>
<p>Mit einer Verzögerung zum Client habe ich keine Probleme, allerdings<br />
sollten die Packete halt genauso nacheinander eintrudeln, wie ich sie<br />
geschickt habe.</p>
</blockquote>
<p>das ist tcp! nimm es einfach. tcp zerhackt dein array in handliche pakete, macht die geschwindigkeitssteuerung mit den 10 oder wievielen empfangspuffern UND sorgt noch dafür, daß die pakete beim empfänger-programm sogar in der richtigen reihenfolge ankommen. kurzum, tcp ist das, was man braucht.</p>
<p>wenn du zweifel an tcp hast, dann komm raus mit konkreten bedenken, weshalb du meinst, was anderes nehmen zuz müssen, und wir überlegen dann mal scharf, ob du nicht beim selbermachen dann doch genau alles ganz exakt so machen solltest, wie tcp es schon macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/840301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840301</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 27 Jul 2005 18:34:01 GMT</pubDate></item><item><title><![CDATA[Reply to schnelle Netzwerkübertragung ohne Rückmeldungen on Wed, 27 Jul 2005 18:53:45 GMT]]></title><description><![CDATA[<p>Jo, da hab ich hier mal so einen Copy von einem älteren Thread:</p>
<pre><code>Zelby schrieb:

Was ich benutze weiss ich ehrlich gesagt selber nicht. Ob es nun UDP oder TcpIp
ist. Wo ist eigentlich der unterschied?

udp ist einfaches pakete-versenden ohne bestätigung. recht unsicher dafür aber
schnell. tcp ist aus anwendungssicht ein 'datenstrom'. das zerstückeln in 
pakete, flowcontrol, fehlererkennung, retransmissions usw. besorgt tcp 'im 
hintergrund'

Zelby schrieb:

Kann ich jetzt sicher sein, das Windows das alles selbst erledigt?

kannste. socket 'send()' schreibt die daten in einen fifo-buffer, auf der 
anderen seite holt tcp sie raus und verschickt sie. brauchst dich um nichts zu
 kümmern (bis auf die rückgabewerte der send()/recv() funktionen)
</code></pre>
<p>Ich frag mich jetzt halt, ob es in meinem Falle nicht mit einem UDP<br />
Stream besser getan wäre. Ich hab halt Angst, das mein Programm bei kurzzeitigem<br />
hohem Datenverkehr mal kurz anhält. Da wäre dann ein Rucken in der Grafik sehbar<br />
und das will ich nicht haben.<br />
Und da wäre auch schon meine eigentlich Frage:<br />
Kann ich mit send() auch UDP versenden oder muss ich da DirectPlay nehmen.</p>
<p>Wenn ich dich richtig verstanden habe, kann ich in TCP die Rückgaben ignorieren.<br />
z.B. indem ich Windows Messages einfach nicht benutze ?<br />
Oder ist es doch so, das ich send() ausführe, mein Array übergebe und dann<br />
warten muss bis die Routine zurückkommt ?</p>
<p>Gruß<br />
thenoname</p>
]]></description><link>https://www.c-plusplus.net/forum/post/840312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840312</guid><dc:creator><![CDATA[thenoname]]></dc:creator><pubDate>Wed, 27 Jul 2005 18:53:45 GMT</pubDate></item><item><title><![CDATA[Reply to schnelle Netzwerkübertragung ohne Rückmeldungen on Wed, 27 Jul 2005 18:56:48 GMT]]></title><description><![CDATA[<p><a href="http://tangentsoft.net/wskfaq/articles/io-strategies.html" rel="nofollow">http://tangentsoft.net/wskfaq/articles/io-strategies.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/840314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840314</guid><dc:creator><![CDATA[...........]]></dc:creator><pubDate>Wed, 27 Jul 2005 18:56:48 GMT</pubDate></item><item><title><![CDATA[Reply to schnelle Netzwerkübertragung ohne Rückmeldungen on Wed, 27 Jul 2005 19:13:24 GMT]]></title><description><![CDATA[<p>Rucken in der Grafik entsteht ist oft durch einen Packetloss Unterwegs. Pakete können auch bei einem STateless Protokoll verloren gehen, da musst Du anders ansetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/840330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/840330</guid><dc:creator><![CDATA[Physikalischer Fehler]]></dc:creator><pubDate>Wed, 27 Jul 2005 19:13:24 GMT</pubDate></item></channel></rss>