<?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[Wenn keine IP vorhanden Absturz]]></title><description><![CDATA[<p>Ich möchte in meiner Anwendung die LAN-IP ermitteln. Dies<br />
funktioniert auch wunderbar, solange der PC auch wirklich<br />
eine IP bekommen hat. Ist dies jedoch einmal nicht der Fall<br />
(Stecker gezogen o.ä.) schmiert mir meine Anwendung ab.</p>
<p>Ich bin mir nicht sicher wie ich nun ermitteln soll ob<br />
der PC wirklich eine IP hat, ohne gleich den Absturz<br />
der Anwendung wieder zu verursachen.</p>
<pre><code class="language-cpp">CString m_tos2;
int ip1a, ip2a, ip3a, ip4a;
//lanip
AfxSocketInit(NULL); hostent *hEnt = 0;
char hostname[20]; gethostname(hostname,20); 
hEnt = gethostbyname( hostname ); if ( hEnt ) { 
CString m_ipadresse = inet_ntoa( *(LPIN_ADDR)*hEnt-&gt;h_addr_list ); 
UpdateData(FALSE);

sscanf(m_tos2,&quot;%d.%d.%d.%d&quot;, &amp;ip1a, &amp;ip2a, &amp;ip3a, &amp;ip4a); 
}

//pcname
struct hostent *pHostInfo;  
unsigned long IPAddress = inet_addr(m_tos2); 
WSADATA  WSAData; 
memset(&amp;WSAData, 0, sizeof(WSAData));

if(::WSAStartup(MAKEWORD(1, 0), &amp;WSAData) == FALSE)
{
pHostInfo = ::gethostbyaddr(reinterpret_cast&lt;char *&gt;(&amp;IPAddress),sizeof(unsigned long),AF_INET);
}
if(!pHostInfo)
{
    WSACleanup();
}

CString testname =&quot;Name des PC: &quot;;
testname+=pHostInfo-&gt;h_name;
</code></pre>
<p>Setze ich m_tos2 auf 127.0.0.1 wenn m_tos2==&quot;&quot; ist, dann habe ich<br />
den PC-Namen wiederum mit dem wert &quot;localhost&quot; belegt was ja in<br />
Bezug auf die IP richtig ist, aber der PC hat ja auch einen eigenen<br />
namen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Boah steh ich auf dem Schlauch !!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/117688/wenn-keine-ip-vorhanden-absturz</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 16:34:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/117688.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Aug 2005 11:40:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wenn keine IP vorhanden Absturz on Wed, 10 Aug 2005 11:40:10 GMT]]></title><description><![CDATA[<p>Ich möchte in meiner Anwendung die LAN-IP ermitteln. Dies<br />
funktioniert auch wunderbar, solange der PC auch wirklich<br />
eine IP bekommen hat. Ist dies jedoch einmal nicht der Fall<br />
(Stecker gezogen o.ä.) schmiert mir meine Anwendung ab.</p>
<p>Ich bin mir nicht sicher wie ich nun ermitteln soll ob<br />
der PC wirklich eine IP hat, ohne gleich den Absturz<br />
der Anwendung wieder zu verursachen.</p>
<pre><code class="language-cpp">CString m_tos2;
int ip1a, ip2a, ip3a, ip4a;
//lanip
AfxSocketInit(NULL); hostent *hEnt = 0;
char hostname[20]; gethostname(hostname,20); 
hEnt = gethostbyname( hostname ); if ( hEnt ) { 
CString m_ipadresse = inet_ntoa( *(LPIN_ADDR)*hEnt-&gt;h_addr_list ); 
UpdateData(FALSE);

sscanf(m_tos2,&quot;%d.%d.%d.%d&quot;, &amp;ip1a, &amp;ip2a, &amp;ip3a, &amp;ip4a); 
}

//pcname
struct hostent *pHostInfo;  
unsigned long IPAddress = inet_addr(m_tos2); 
WSADATA  WSAData; 
memset(&amp;WSAData, 0, sizeof(WSAData));

if(::WSAStartup(MAKEWORD(1, 0), &amp;WSAData) == FALSE)
{
pHostInfo = ::gethostbyaddr(reinterpret_cast&lt;char *&gt;(&amp;IPAddress),sizeof(unsigned long),AF_INET);
}
if(!pHostInfo)
{
    WSACleanup();
}

CString testname =&quot;Name des PC: &quot;;
testname+=pHostInfo-&gt;h_name;
</code></pre>
<p>Setze ich m_tos2 auf 127.0.0.1 wenn m_tos2==&quot;&quot; ist, dann habe ich<br />
den PC-Namen wiederum mit dem wert &quot;localhost&quot; belegt was ja in<br />
Bezug auf die IP richtig ist, aber der PC hat ja auch einen eigenen<br />
namen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Boah steh ich auf dem Schlauch !!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849323</guid><dc:creator><![CDATA[Margott]]></dc:creator><pubDate>Wed, 10 Aug 2005 11:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn keine IP vorhanden Absturz on Wed, 10 Aug 2005 12:20:55 GMT]]></title><description><![CDATA[<p>Hat sich scheinbar erledigt war im falschen Codeteil. Habe den<br />
PC-Namen ja doch anders ermittelt hals hier beschrieben.<br />
Wenn ich nicht über die IP gehe um den Namen zu holen ist alles i.O.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849354</guid><dc:creator><![CDATA[Margott]]></dc:creator><pubDate>Wed, 10 Aug 2005 12:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wenn keine IP vorhanden Absturz on Wed, 10 Aug 2005 16:04:26 GMT]]></title><description><![CDATA[<p>Na denn <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=";D"
      alt="😉"
    /><br />
(Beim Ursprungspost wäre die Angabe der Zeile in der die Anwendung abschmiert interessant gewesen ;D)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849602</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Wed, 10 Aug 2005 16:04:26 GMT</pubDate></item></channel></rss>