<?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[Round Robin und gethostbyname]]></title><description><![CDATA[<p>Hi an alle,</p>
<p>ich habe folgendes Problem. Wir haben intern eine domain</p>
<p>dies.dom.tld. Über Round Robin ist diese mit 3 IP Adressen belegt.<br />
Wenn ich die domain mit nslookup aufrufe wird auch die IP Adresse ständig gewechselt.</p>
<p>Nun starte ich meine Applikation. Doch egal wie oft ich sie starte erhalte ich bei gethostbyname immer dieselbe IP Adresse. Immer die erste aus der Liste.<br />
Was muss ich tun, das er bei starten der App zufällig eine der 3 IP Adressen wählt?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/237758/round-robin-und-gethostbyname</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 09:15:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237758.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Apr 2009 14:18:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Round Robin und gethostbyname on Wed, 01 Apr 2009 14:18:40 GMT]]></title><description><![CDATA[<p>Hi an alle,</p>
<p>ich habe folgendes Problem. Wir haben intern eine domain</p>
<p>dies.dom.tld. Über Round Robin ist diese mit 3 IP Adressen belegt.<br />
Wenn ich die domain mit nslookup aufrufe wird auch die IP Adresse ständig gewechselt.</p>
<p>Nun starte ich meine Applikation. Doch egal wie oft ich sie starte erhalte ich bei gethostbyname immer dieselbe IP Adresse. Immer die erste aus der Liste.<br />
Was muss ich tun, das er bei starten der App zufällig eine der 3 IP Adressen wählt?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1689336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689336</guid><dc:creator><![CDATA[mr. main]]></dc:creator><pubDate>Wed, 01 Apr 2009 14:18:40 GMT</pubDate></item><item><title><![CDATA[Reply to Round Robin und gethostbyname on Wed, 01 Apr 2009 14:27:57 GMT]]></title><description><![CDATA[<p>Klingt, als bräuchtest du Zufall (srand + rand). Und was meinst du hier mit &quot;Round Robin&quot;, kenne ich eigentlich nur als Scheduling-Algo?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1689346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689346</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Wed, 01 Apr 2009 14:27:57 GMT</pubDate></item><item><title><![CDATA[Reply to Round Robin und gethostbyname on Wed, 01 Apr 2009 14:31:25 GMT]]></title><description><![CDATA[<p>Also ich habe ganz einfach eine Domain eines Servers welche mit 3 IP Adressen belegt ist und im Round Robin Verfahren werden diese getauscht.<br />
Ich möchte einfach nur wissen ob ich hier noch irgendwas spezielles machen muss oder ob gethostbyname dieses von selbst mit bekommt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1689349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689349</guid><dc:creator><![CDATA[mr. main]]></dc:creator><pubDate>Wed, 01 Apr 2009 14:31:25 GMT</pubDate></item><item><title><![CDATA[Reply to Round Robin und gethostbyname on Wed, 01 Apr 2009 14:34:32 GMT]]></title><description><![CDATA[<p>Kann sein, dass Windows die aufgelösten Namen speichert und nicht jedesmal neu anfordert. Kannst du ja mit z.B. Wireshark überprüfen <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/1689352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689352</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Wed, 01 Apr 2009 14:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to Round Robin und gethostbyname on Wed, 01 Apr 2009 14:38:22 GMT]]></title><description><![CDATA[<p>Wie kann ich denn das mit Wireshark überprüfen ob Windows die cached?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1689359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689359</guid><dc:creator><![CDATA[mr. main]]></dc:creator><pubDate>Wed, 01 Apr 2009 14:38:22 GMT</pubDate></item><item><title><![CDATA[Reply to Round Robin und gethostbyname on Wed, 01 Apr 2009 14:44:42 GMT]]></title><description><![CDATA[<p>Kannst halt schauen, ob jedesmal neu angefragt wird, siehst ja alle aus- und eingehenden Pakete plus die dabei verwendeten Protokolle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1689364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689364</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Wed, 01 Apr 2009 14:44:42 GMT</pubDate></item><item><title><![CDATA[Reply to Round Robin und gethostbyname on Wed, 01 Apr 2009 14:59:23 GMT]]></title><description><![CDATA[<p>Ne hab meine Fehler bereits gefunden.<br />
hostent - struktur hat die h_addr_list.<br />
Darin sind alle IP Adressen enthalten.</p>
<p>Dann einfach random drauf ansetzen und schon klappt es wie ich es brauche;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1689371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689371</guid><dc:creator><![CDATA[mr. main]]></dc:creator><pubDate>Wed, 01 Apr 2009 14:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Round Robin und gethostbyname on Thu, 02 Apr 2009 13:10:34 GMT]]></title><description><![CDATA[<p>Also ich habe nun noch folgendes Problem. Sobald ich jetzt einen Server anspreche dem nur eine IP Adresse zugewiesen ist, dann könnte ich durch den zufälligen Index ja in Schwierigkeiten kommen.</p>
<p>Dies wollte ich so abfangen</p>
<pre><code class="language-cpp">srand(time(NULL));
int nIndex = rand()%3;

while(!ph-&gt;h_addr_list[nIndex])
    nIndex = rand()%3;

saRemote.sin_addr.S_un.S_addr = *(unsigned long*)ph-&gt;h_addr_list[nAddrVal];
</code></pre>
<p>Hier habe ich aber das folgende Problem.<br />
Ist jetzt nIndex = 1 dann wird NULL zurückgegeben und die Anweisung in der While schleife wird ausgeführt.<br />
Ist aber der Index = 2 kommt von h_addr_list[2] ein Bad Pointer zurück und bei dem versuch diesen in s_addr zu schreiben kommt es wie zu erwarten zu einem Programmabsturz.</p>
<p>Wie kann ich denn abfangen ob es sich um einen Bad Pointer handelt?<br />
Oder kann ich vorab schon irgendwie herausfinden wieviele gültige Einträge sich in h_addr_list befinden?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1689879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689879</guid><dc:creator><![CDATA[mr. main]]></dc:creator><pubDate>Thu, 02 Apr 2009 13:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to Round Robin und gethostbyname on Thu, 02 Apr 2009 14:32:48 GMT]]></title><description><![CDATA[<p>mr. main schrieb:</p>
<blockquote>
<p>Oder kann ich vorab schon irgendwie herausfinden wieviele gültige Einträge sich in h_addr_list befinden?</p>
</blockquote>
<p>Zählen, an wievielter Stelle die NULL sitzt. Und dann logischerweise <code>index = rand() % count</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1689929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1689929</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 02 Apr 2009 14:32:48 GMT</pubDate></item></channel></rss>