<?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[UDP &amp;quot;address_len&amp;quot;]]></title><description><![CDATA[<p>Guten Abend, ich habe nur eine kurze Frage,<br />
wozu wird der letzte Übergabeparameter als <strong>Pointer</strong>weiter gegeben?</p>
<p>recvfrom(int socket, void *buffer, size_t length, int flags, struct sockaddr *address, socklen_t *address_len);</p>
<p>Er wird ja als int übergeben und ist bei mir immer 16.<br />
Kann man davon ausgehen das er immer 16 beträgt bei jedem Client? Ich denke das es die Laenge von ipv4 darstellt, oder?</p>
<p>So frage ich den Wert ab:</p>
<pre><code class="language-cpp">int remoteAddrLen=sizeof(SOCKADDR_IN);
</code></pre>
<p>Vielen Dank <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/topic/254188/udp-quot-address_len-quot</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 02:00:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/254188.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Nov 2009 18:28:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to UDP &amp;quot;address_len&amp;quot; on Thu, 12 Nov 2009 18:28:22 GMT]]></title><description><![CDATA[<p>Guten Abend, ich habe nur eine kurze Frage,<br />
wozu wird der letzte Übergabeparameter als <strong>Pointer</strong>weiter gegeben?</p>
<p>recvfrom(int socket, void *buffer, size_t length, int flags, struct sockaddr *address, socklen_t *address_len);</p>
<p>Er wird ja als int übergeben und ist bei mir immer 16.<br />
Kann man davon ausgehen das er immer 16 beträgt bei jedem Client? Ich denke das es die Laenge von ipv4 darstellt, oder?</p>
<p>So frage ich den Wert ab:</p>
<pre><code class="language-cpp">int remoteAddrLen=sizeof(SOCKADDR_IN);
</code></pre>
<p>Vielen Dank <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/1807174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807174</guid><dc:creator><![CDATA[mmarcel1]]></dc:creator><pubDate>Thu, 12 Nov 2009 18:28:22 GMT</pubDate></item><item><title><![CDATA[Reply to UDP &amp;quot;address_len&amp;quot; on Thu, 12 Nov 2009 20:56:41 GMT]]></title><description><![CDATA[<p>mhh keiner eine Ahnung?<br />
<a href="http://xxx.xxx.xxx.xxx" rel="nofollow">xxx.xxx.xxx.xxx</a><br />
Inklusive den Punkten komme ich auf 15. Keiner eine Ahnung? <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/1807251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807251</guid><dc:creator><![CDATA[mmarcel1]]></dc:creator><pubDate>Thu, 12 Nov 2009 20:56:41 GMT</pubDate></item><item><title><![CDATA[Reply to UDP &amp;quot;address_len&amp;quot; on Thu, 12 Nov 2009 21:04:40 GMT]]></title><description><![CDATA[<p>RTFM!</p>
<p><a href="http://www.bing.com/search?q=recvfrom+msdn&amp;form=QBRE&amp;filt=all" rel="nofollow">http://www.bing.com/search?q=recvfrom+msdn&amp;form=QBRE&amp;filt=all</a></p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms740120(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms740120(VS.85).aspx</a><br />
-&gt;<br />
__inout_opt int *fromlen</p>
<p>-&gt;<br />
fromlen [in, out, optional]<br />
An optional pointer to the size, in bytes, of the buffer pointed to by the from parameter.</p>
<p>&quot;Kann man davon ausgehen das er immer 16 beträgt bei jedem Client?&quot;<br />
Welche Bedeutung hat das denn? Ist doch völlig egal...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807253</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 12 Nov 2009 21:04:40 GMT</pubDate></item><item><title><![CDATA[Reply to UDP &amp;quot;address_len&amp;quot; on Thu, 12 Nov 2009 21:32:55 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>RTFM!</p>
<p><a href="http://www.bing.com/search?q=recvfrom+msdn&amp;form=QBRE&amp;filt=all" rel="nofollow">http://www.bing.com/search?q=recvfrom+msdn&amp;form=QBRE&amp;filt=all</a></p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms740120(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms740120(VS.85).aspx</a><br />
-&gt;<br />
__inout_opt int *fromlen</p>
<p>-&gt;<br />
fromlen [in, out, optional]<br />
An optional pointer to the size, in bytes, of the buffer pointed to by the from parameter.</p>
<p>&quot;Kann man davon ausgehen das er immer 16 beträgt bei jedem Client?&quot;<br />
Welche Bedeutung hat das denn? Ist doch völlig egal...</p>
<p>bb</p>
</blockquote>
<p>Naja, die erste Zeile deiner Antwort war nicht sehr nett und der Rest nicht brauchbar, habe ich bereits gelesen <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>Inwiefern das wichtig ist kann ich dir gerne erläutern und zwar müsste ich für jeden Client noch zusätzlich diese Adresslängen Informationen speichern, für den Fall das diese nicht immer einen Wert von 16 haben. Andernfalls bräuchte ich diese Informationen nicht im Speicher behalten. Und warum der letzte Parameter als Pointer übergeben wird ist auch imme noch nicht klar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807261</guid><dc:creator><![CDATA[mmarcel1]]></dc:creator><pubDate>Thu, 12 Nov 2009 21:32:55 GMT</pubDate></item><item><title><![CDATA[Reply to UDP &amp;quot;address_len&amp;quot; on Thu, 12 Nov 2009 21:50:58 GMT]]></title><description><![CDATA[<p>du kannst sie doch jedes mal neu &quot;berechnen&quot;...</p>
<p>fromlen [in, out, optional]</p>
<p>es ist also in und out parameter -&gt; wie soll das by value gehen? also bleiben nur referenzen und pointer übrig.<br />
referenzen gibts in C nicht (winapi ist aber - wie fast alle systemapi`s - in C geschrieben - große Teile vermutlich auch in asm, aber das spielt hier keine rolle)<br />
außerdem sind die nicht null-able. aber das wird hier vermutlich auch gebraucht - kann ich nicht beurteilen, wie die fkt intern arbeitet...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807268</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 12 Nov 2009 21:50:58 GMT</pubDate></item><item><title><![CDATA[Reply to UDP &amp;quot;address_len&amp;quot; on Fri, 13 Nov 2009 08:14:53 GMT]]></title><description><![CDATA[<p>mmarcel1 schrieb:</p>
<blockquote>
<p>mhh keiner eine Ahnung?<br />
<a href="http://xxx.xxx.xxx.xxx" rel="nofollow">xxx.xxx.xxx.xxx</a><br />
Inklusive den Punkten komme ich auf 15. Keiner eine Ahnung? <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>Plus die terminierende Null... 16...</p>
<p>Nein, im ernst, das ist Quatsch. Es geht um die Grösse der Struktur (sockaddr) die Du übergibst und da ist es korrekt, den Wert mit sizeof(..) abzufragen.</p>
<p>Die Grösse wird unter anderem per Pointer übergeben, weil dieser Parameter optional ist (laut MSDN).</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1807383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1807383</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 13 Nov 2009 08:14:53 GMT</pubDate></item></channel></rss>