<?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[zuviele Zeichen übertragen]]></title><description><![CDATA[<p>Wie schon in meinem anderen Thread erwähnt spiele ich ein bisschen mit UDP. Im Prinzip habe ich ein einfaches Client-Server-Modell. Wenn ihc nun einen String übertrage, werden (in der einen Richtung) immer 2 Zeichen zuviel übertragen.</p>
<p>Hier Codeauszüge:</p>
<pre><code class="language-cpp">// im Client
char request[] = &quot;Ist jemand da?&quot;;
sendto(mSock, request, strlen(request), 0, (SOCKADDR*)&amp;mAddrRequest, sizeof(SOCKADDR_IN));
// ...
char response[1024];
recvfrom(mSock, response, 1024, 0, (SOCKADDR*)&amp;mAddrResponse, &amp;mAddrResponseLen);
cout&lt;&lt;response&lt;&lt;&quot; von &quot;&lt;&lt;mAddrResponse.sin_addr.s_addr&lt;&lt;endl;
</code></pre>
<pre><code class="language-cpp">// im Server
char incomingRequest[1024];
recvfrom(mSock, incomingRequest, 1024, 0, (SOCKADDR*)&amp;mAddrResponse, &amp;mAddrResponseLen);
cout&lt;&lt;strlen(incomingRequest)&lt;&lt;&quot;: &quot;&lt;&lt;incomingRequest&lt;&lt;&quot; von &quot;&lt;&lt;mAddrResponse.sin_addr.s_addr&lt;&lt;endl;
sendto(mSock, incomingRequest, strlen(incomingRequest), 0, (SOCKADDR*)&amp;mAddrResponse, mAddrResponseLen);
</code></pre>
<p>Wenn nun der Client seine 14 Zeichen an den Server schickt, kommen bei diesem 16 Zeichen an. Diese schickt er zurück und beim Client kommen dann genau diese 16 Zeichen an.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166900/zuviele-zeichen-übertragen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 15:21:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166900.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 04 Dec 2006 11:03:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to zuviele Zeichen übertragen on Mon, 04 Dec 2006 11:04:11 GMT]]></title><description><![CDATA[<p>Wie schon in meinem anderen Thread erwähnt spiele ich ein bisschen mit UDP. Im Prinzip habe ich ein einfaches Client-Server-Modell. Wenn ihc nun einen String übertrage, werden (in der einen Richtung) immer 2 Zeichen zuviel übertragen.</p>
<p>Hier Codeauszüge:</p>
<pre><code class="language-cpp">// im Client
char request[] = &quot;Ist jemand da?&quot;;
sendto(mSock, request, strlen(request), 0, (SOCKADDR*)&amp;mAddrRequest, sizeof(SOCKADDR_IN));
// ...
char response[1024];
recvfrom(mSock, response, 1024, 0, (SOCKADDR*)&amp;mAddrResponse, &amp;mAddrResponseLen);
cout&lt;&lt;response&lt;&lt;&quot; von &quot;&lt;&lt;mAddrResponse.sin_addr.s_addr&lt;&lt;endl;
</code></pre>
<pre><code class="language-cpp">// im Server
char incomingRequest[1024];
recvfrom(mSock, incomingRequest, 1024, 0, (SOCKADDR*)&amp;mAddrResponse, &amp;mAddrResponseLen);
cout&lt;&lt;strlen(incomingRequest)&lt;&lt;&quot;: &quot;&lt;&lt;incomingRequest&lt;&lt;&quot; von &quot;&lt;&lt;mAddrResponse.sin_addr.s_addr&lt;&lt;endl;
sendto(mSock, incomingRequest, strlen(incomingRequest), 0, (SOCKADDR*)&amp;mAddrResponse, mAddrResponseLen);
</code></pre>
<p>Wenn nun der Client seine 14 Zeichen an den Server schickt, kommen bei diesem 16 Zeichen an. Diese schickt er zurück und beim Client kommen dann genau diese 16 Zeichen an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186716</guid><dc:creator><![CDATA[Evolver]]></dc:creator><pubDate>Mon, 04 Dec 2006 11:04:11 GMT</pubDate></item><item><title><![CDATA[Reply to zuviele Zeichen übertragen on Mon, 04 Dec 2006 11:25:08 GMT]]></title><description><![CDATA[<p>Zufall. Strlen gibt die Länge eines nullterminierten Strings zurück. recvfrom nullterminiert Deinen Datenblock aber nicht. Demnach &quot;sucht&quot; strlen solange weiter nach dem Stringende, bis es zufällig auf eine 0 im Speicher stößt.</p>
<p>Du musst den Rückgabewert von recvfrom auswerten, um den String selbst nullzuterminieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186734</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 04 Dec 2006 11:25:08 GMT</pubDate></item><item><title><![CDATA[Reply to zuviele Zeichen übertragen on Mon, 04 Dec 2006 11:33:34 GMT]]></title><description><![CDATA[<p>Alles klar, danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1186737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1186737</guid><dc:creator><![CDATA[Evolver]]></dc:creator><pubDate>Mon, 04 Dec 2006 11:33:34 GMT</pubDate></item></channel></rss>