<?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[Socketport herausfinden (Unix UDP socket)]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe folgenden Code</p>
<pre><code class="language-cpp">int s;
	struct sockaddr_in clientAddr,serverAddr;
	serverAddr.sin_family=AF_INET;
	serverAddr.sin_port=INADDR_ANY;
	serverAddr.sin_addr.s_addr=INADDR_ANY;
	clientAddr.sin_family=AF_INET;
	s = socket(AF_INET, SOCK_DGRAM, 0);
	bind(s, (struct sockaddr *)&amp;serverAddr, sizeof(serverAddr));
	sendto(s,data.data(),data.size(),0,(struct sockaddr *)&amp;clientAddr,sizeof(clientAddr));
</code></pre>
<p>Wenn ich nach sendto serverAddr.sin_port aufrufe ist das immer noch 0. Wie kann ich den Port herausfinden der zum senden genommen wurde? Der sende Port sollte immer zufällig sein deshalb serverAddr.sin_port=INADDR_ANY;. Brauche aber für das empfangen von Packete den port über den vorher gesendet wurde.</p>
<p>Ich hoffe ihr könnt mir weiterhelfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/294345/socketport-herausfinden-unix-udp-socket</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 22:38:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/294345.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Oct 2011 18:15:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Socketport herausfinden (Unix UDP socket) on Sun, 23 Oct 2011 18:15:00 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe folgenden Code</p>
<pre><code class="language-cpp">int s;
	struct sockaddr_in clientAddr,serverAddr;
	serverAddr.sin_family=AF_INET;
	serverAddr.sin_port=INADDR_ANY;
	serverAddr.sin_addr.s_addr=INADDR_ANY;
	clientAddr.sin_family=AF_INET;
	s = socket(AF_INET, SOCK_DGRAM, 0);
	bind(s, (struct sockaddr *)&amp;serverAddr, sizeof(serverAddr));
	sendto(s,data.data(),data.size(),0,(struct sockaddr *)&amp;clientAddr,sizeof(clientAddr));
</code></pre>
<p>Wenn ich nach sendto serverAddr.sin_port aufrufe ist das immer noch 0. Wie kann ich den Port herausfinden der zum senden genommen wurde? Der sende Port sollte immer zufällig sein deshalb serverAddr.sin_port=INADDR_ANY;. Brauche aber für das empfangen von Packete den port über den vorher gesendet wurde.</p>
<p>Ich hoffe ihr könnt mir weiterhelfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2134857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2134857</guid><dc:creator><![CDATA[mrno]]></dc:creator><pubDate>Sun, 23 Oct 2011 18:15:00 GMT</pubDate></item><item><title><![CDATA[Reply to Socketport herausfinden (Unix UDP socket) on Sun, 23 Oct 2011 18:18:47 GMT]]></title><description><![CDATA[<p>Keine C++ Frage.</p>
<p>mrno schrieb:</p>
<blockquote>
<p>Der sende Port sollte immer zufällig sein deshalb serverAddr.sin_port=INADDR_ANY;.</p>
</blockquote>
<p>Warum erwartest du dieses Verhalten? Kann man das nachlesen? Das wäre mir nämlich neu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2134859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2134859</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 23 Oct 2011 18:18:47 GMT</pubDate></item><item><title><![CDATA[Reply to Socketport herausfinden (Unix UDP socket) on Sun, 23 Oct 2011 18:25:16 GMT]]></title><description><![CDATA[<p>Das Programm soll auf verschiedenen Rechnern laufen und keine Standardports benutzen (TFTP-Server). Daher habe ich gelesen, dass serverAddr.sin_port=INADDR_ANY mir einen zufälligen freien Port beim Senden gibt. Gibt es sonst eine andere Möglichkeit einen freien Port über 1024 zu erfahren? Will es nicht fest einstellen, da es sein kann das der Port schon von einem anderen Programm benötigt wird. Brauche aber im Nachhinein den Port um auf diesem zu lauschen. So funktioniert leider tftp laut rfc1350.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2134862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2134862</guid><dc:creator><![CDATA[mrno]]></dc:creator><pubDate>Sun, 23 Oct 2011 18:25:16 GMT</pubDate></item><item><title><![CDATA[Reply to Socketport herausfinden (Unix UDP socket) on Sun, 23 Oct 2011 18:42:08 GMT]]></title><description><![CDATA[<p>Ich habe das bind() völlig übersehen. Da hast du Recht, es wird ein freier Platz ausgesucht. Es gibt eine Möglichkeit das zu erfahren, allerdings bin ich mir gerade nicht mehr ganz sicher wie das war. Ich suche mal.</p>
<p>Aha: <a href="http://stackoverflow.com/questions/4046616/sockets-how-to-find-out-what-port-and-address-im-assigned" rel="nofollow">http://stackoverflow.com/questions/4046616/sockets-how-to-find-out-what-port-and-address-im-assigned</a><br />
port muss auch 0 sein und nicht INADDR_ANY, auch wenn INADDR_ANY wahrscheinlich eh 0 ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2134869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2134869</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 23 Oct 2011 18:42:08 GMT</pubDate></item><item><title><![CDATA[Reply to Socketport herausfinden (Unix UDP socket) on Sun, 23 Oct 2011 20:20:18 GMT]]></title><description><![CDATA[<p>Vielen Dank, hat funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2134893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2134893</guid><dc:creator><![CDATA[mrno]]></dc:creator><pubDate>Sun, 23 Oct 2011 20:20:18 GMT</pubDate></item></channel></rss>