<?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[HostName anhand der IP eines Rechners ermitteln]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Programm, dass die IP der Rechner im Netzwerk samt MAC anzeigt. Dieses Programm soll aber auch den Host Namen anzeigen.</p>
<p>Nun finde ich aber nicht die Passende WinAPI und hoffe auf Hilfe von euch.</p>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200065/hostname-anhand-der-ip-eines-rechners-ermitteln</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 15:50:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200065.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Dec 2007 12:53:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to HostName anhand der IP eines Rechners ermitteln on Mon, 10 Dec 2007 12:54:29 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Programm, dass die IP der Rechner im Netzwerk samt MAC anzeigt. Dieses Programm soll aber auch den Host Namen anzeigen.</p>
<p>Nun finde ich aber nicht die Passende WinAPI und hoffe auf Hilfe von euch.</p>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418088</guid><dc:creator><![CDATA[felixx87]]></dc:creator><pubDate>Mon, 10 Dec 2007 12:54:29 GMT</pubDate></item><item><title><![CDATA[Reply to HostName anhand der IP eines Rechners ermitteln on Mon, 10 Dec 2007 13:09:16 GMT]]></title><description><![CDATA[<p>Poste mal nen bisschen Code, hört sich interessant an <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>ansonsten:<br />
anhand der Winsock-Funktionen gethostbyaddr und gethostbyname. Wie man sich unschwer vorstellen kann, benötigt die eine die IP-Addr, die Andere den Namen des Hosts. Die Definitionen der beiden Funktionen:</p>
<p>struct HOSTENT FAR * gethostbyaddr (<br />
const char FAR * addr,<br />
int len,<br />
int type<br />
);</p>
<p>Parameters:<br />
-----------<br />
addr: A pointer to an address in network byte order.<br />
len: The length of the address.<br />
type: The type of the address.</p>
<p>struct hostent FAR * gethostbyname (<br />
const char FAR * name<br />
);</p>
<p>Parameters:<br />
-----------<br />
name: A pointer to the null-terminated name of the host to resolve.</p>
<p>Wie man nun erkennen kann, liefern beide Funktionen einen Pointer auf einen Struktur zurück, die wie folgt definiert ist:</p>
<p>struct hostent {<br />
char FAR * h_name;<br />
char FAR * FAR * h_aliases;<br />
short h_addrtype;<br />
short h_length;<br />
char FAR * FAR * h_addr_list;<br />
};</p>
<p>Members:<br />
--------</p>
<p>h_name:<br />
Official name of the host (PC).If using the DNS or similar resolution system, it is the Fully Qualified Domain Name (FQDN) that caused the server to return a reply. If using a local &quot;hosts&quot; file, it is the first entry after the IP address.</p>
<p>h_aliases:<br />
A NULL-terminated array of alternate names.</p>
<p>h_addrtype:<br />
The type of address being returned.</p>
<p>h_length:<br />
The length, in bytes, of each address.</p>
<p>h_addr_list:<br />
A NULL-terminated list of addresses for the host. Addresses are returned in network byte order. The macro h_addr is defined to be h_addr_list[0] for compatibility with older software.</p>
<p>Diese Funtionen nun anzuwenden, dürfte kein Problem mehr sein. Wer sich jedoch schon stark an die Klassen-orientierte MFC gewöhnt hat, und auch Klassen verwenden will, der sollte sich Inside Visual C++ kaufen und die dort selfmade-Klasse CBlockingSocket (CSocket-MFC-Ersatz) verwenden. In dieser Klasse sind 2 statische Methoden, GetHostByAddr und GetHostByName definiert, welche wiederum die Winsock-Funktionen aufrufen, nur komfortabler zu verwenden sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418102</guid><dc:creator><![CDATA[Machine]]></dc:creator><pubDate>Mon, 10 Dec 2007 13:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to HostName anhand der IP eines Rechners ermitteln on Mon, 10 Dec 2007 15:16:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<pre><code>HOSTENT RemoteHost, *ptRemoteHost;
			addr.S_un.S_addr = inet_addr(&quot;192.168.1.1&quot;);
			ptRemoteHost = gethostbyaddr((char*) &amp;addr, 4 , AF_INET);
</code></pre>
<p>in der Struct Hostent werden nach dem Aufruf nur NULL Pointer zurückgegeben. WSAGetLastError gibt ebenfalls eine 0 zurück(Kein Fehler!?).</p>
<p>Oder hab ich bei meinen Code nen Fehler eingebastelt?</p>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418204</guid><dc:creator><![CDATA[felixx87]]></dc:creator><pubDate>Mon, 10 Dec 2007 15:16:49 GMT</pubDate></item><item><title><![CDATA[Reply to HostName anhand der IP eines Rechners ermitteln on Mon, 10 Dec 2007 19:41:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das Thema interresiert mich auch.</p>
<pre><code>HOSTENT *ptHost;
     IN_ADDR addr;
     addr.S_un.S_addr = inet_addr(&quot;127.0.0.1&quot;); //Localhost
     ptHost = gethostbyaddr((char*)&amp;addr, sizeof(addr) , AF_INET);
     if(ptHost != NULL)
     	Edit1-&gt;Text = ptHost-&gt;h_name;
     else
     	Edit1-&gt;Text = &quot;Failed&quot;;
</code></pre>
<p>Warum zum Teufel bekomme ich hier immer eine NULL Pointer zurück?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418380</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Mon, 10 Dec 2007 19:41:05 GMT</pubDate></item><item><title><![CDATA[Reply to HostName anhand der IP eines Rechners ermitteln on Tue, 11 Dec 2007 09:45:31 GMT]]></title><description><![CDATA[<pre><code>hostent *ptHost;
     WSAData stData;
     IN_ADDR addr;
     if(WSAStartup(0x0101, &amp;stData) == 0)
     {
     addr.S_un.S_addr = inet_addr(&quot;192.168.1.1&quot;); //Localhost
     ptHost = gethostbyaddr((char*)&amp;addr, sizeof(addr) , AF_INET);
     if(ptHost != NULL)
         Edit1-&gt;Text = ptHost-&gt;h_name;
     else
         Edit1-&gt;Text = &quot;Failed&quot;;
     }
     WSACleanup();
</code></pre>
<p>Hatte vergessen WinSock zu starten <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="🙂"
    /> , was passiert da eigentlich genau<br />
wird hier die DLL in den Speicher geladen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418590</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Tue, 11 Dec 2007 09:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to HostName anhand der IP eines Rechners ermitteln on Wed, 12 Dec 2007 17:30:21 GMT]]></title><description><![CDATA[<p><a href="http://www.c-worker.ch/tuts/select.php" rel="nofollow">http://www.c-worker.ch/tuts/select.php</a><br />
nette seite..</p>
<p>und für technische semidetails<br />
<a href="http://www.zotteljedi.de/permalinks/socket-tipps" rel="nofollow">http://www.zotteljedi.de/permalinks/socket-tipps</a></p>
<blockquote>
<p>und NULL im Fehlerfall.</p>
</blockquote>
<p>grüüüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419525</guid><dc:creator><![CDATA[zeusosc]]></dc:creator><pubDate>Wed, 12 Dec 2007 17:30:21 GMT</pubDate></item></channel></rss>