<?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[socket error]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich hab wiedermal ein kleines Problem mit den sockets: ich hab ne funktion, da gibt man eine IP ein und die verbindet dann zu dem server(auf meinem pc). Wenn ich schön brav meine IP eingeb klappt das auch. In dem Tutorial aus dem ich die Funktion hab steht aber, dass man auch ne Internet Adresse angeben kann. Das hab ich versucht, da krieg ich aber nen error(fehlercode: 11004, hab ich auch schon gegooglet). Die Funktion sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">long getAddrFromString(char* hostnameOrIp, SOCKADDR_IN* addr)

{

  long rc;

  unsigned long ip;

  HOSTENT* he;

  /* Parameter prüfen */

  if(hostnameOrIp==NULL || addr==NULL) return SOCKET_ERROR;

  /* eine IP in hostnameOrIp ? */

  ip=inet_addr(hostnameOrIp);

  /* bei einem fehler liefert inet_addr den Rückgabewert INADDR_NONE */

  if(ip!=INADDR_NONE)

  {

    addr-&gt;sin_addr.s_addr=ip;

    return 0;

  }

  else

  {

    /* Hostname in hostnameOrIp auflösen */

    he=gethostbyname(hostnameOrIp);

    if(he==NULL)

    {

      return SOCKET_ERROR;

    }

    else

    {

      /*die 4 Bytes der IP von he nach addr kopieren */

      memcpy(&amp;(addr-&gt;sin_addr),he-&gt;h_addr_list[0],4);

    }

    return 0;

  }

}
</code></pre>
<p>wenn ich das ganze so mach, dann klappts:</p>
<pre><code class="language-cpp">rc=getAddrFromString(&quot;79.207.72.155&quot;, &amp;addr);
</code></pre>
<p>wenn ichs aber so mach, dann gehts nich:</p>
<pre><code class="language-cpp">rc=getAddrFromString(&quot;www.daniel92.blogdns.com&quot;, &amp;addr);
</code></pre>
<p>Die Internet Adresse ist, wenn ich sie in Firefox angeb, ganz normal erreichbar und ich komm auf die Seite.<br />
Was muss ich tun dass es klappt??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /><br />
Würde mich über Hilfe freuen</p>
<p>MfG Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235653/socket-error</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 05:41:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235653.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Mar 2009 18:02:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to socket error on Wed, 04 Mar 2009 18:02:56 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>ich hab wiedermal ein kleines Problem mit den sockets: ich hab ne funktion, da gibt man eine IP ein und die verbindet dann zu dem server(auf meinem pc). Wenn ich schön brav meine IP eingeb klappt das auch. In dem Tutorial aus dem ich die Funktion hab steht aber, dass man auch ne Internet Adresse angeben kann. Das hab ich versucht, da krieg ich aber nen error(fehlercode: 11004, hab ich auch schon gegooglet). Die Funktion sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">long getAddrFromString(char* hostnameOrIp, SOCKADDR_IN* addr)

{

  long rc;

  unsigned long ip;

  HOSTENT* he;

  /* Parameter prüfen */

  if(hostnameOrIp==NULL || addr==NULL) return SOCKET_ERROR;

  /* eine IP in hostnameOrIp ? */

  ip=inet_addr(hostnameOrIp);

  /* bei einem fehler liefert inet_addr den Rückgabewert INADDR_NONE */

  if(ip!=INADDR_NONE)

  {

    addr-&gt;sin_addr.s_addr=ip;

    return 0;

  }

  else

  {

    /* Hostname in hostnameOrIp auflösen */

    he=gethostbyname(hostnameOrIp);

    if(he==NULL)

    {

      return SOCKET_ERROR;

    }

    else

    {

      /*die 4 Bytes der IP von he nach addr kopieren */

      memcpy(&amp;(addr-&gt;sin_addr),he-&gt;h_addr_list[0],4);

    }

    return 0;

  }

}
</code></pre>
<p>wenn ich das ganze so mach, dann klappts:</p>
<pre><code class="language-cpp">rc=getAddrFromString(&quot;79.207.72.155&quot;, &amp;addr);
</code></pre>
<p>wenn ichs aber so mach, dann gehts nich:</p>
<pre><code class="language-cpp">rc=getAddrFromString(&quot;www.daniel92.blogdns.com&quot;, &amp;addr);
</code></pre>
<p>Die Internet Adresse ist, wenn ich sie in Firefox angeb, ganz normal erreichbar und ich komm auf die Seite.<br />
Was muss ich tun dass es klappt??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /><br />
Würde mich über Hilfe freuen</p>
<p>MfG Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674299</guid><dc:creator><![CDATA[killmichnich]]></dc:creator><pubDate>Wed, 04 Mar 2009 18:02:56 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Wed, 04 Mar 2009 19:11:18 GMT]]></title><description><![CDATA[<blockquote>
<p>wenn ichs aber so mach, dann gehts nich:</p>
</blockquote>
<p>Was bedeutet das? Fehler Meldungen, Error Codes, Return Values????<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674337</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 04 Mar 2009 19:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Wed, 04 Mar 2009 19:39:52 GMT]]></title><description><![CDATA[<p>Versuch's mal so:</p>
<pre><code>bool DNSLookup( LPCSTR cp )
{
	m_address = 0UL;
	hostent *he;
	unsigned long addr = inet_addr( cp );
	if( addr == INADDR_NONE )
	{
		if( (he = gethostbyname( cp )) == NULL )
			m_iWSA_ErrorCode = WSAGetLastError();
		if( !m_iWSA_ErrorCode )
		{
			m_address = *((u_long *) he-&gt;h_addr);
			return( true );
		}
	}
	else
	{
		m_address = addr;
		return( true );
	}

	return( false );
}
</code></pre>
<p>Status 11004 kannst du normalerweise unter &quot;Host not found&quot; behandeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674347</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Wed, 04 Mar 2009 19:39:52 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Thu, 05 Mar 2009 17:53:14 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19131">@theta</a>: das programm baut einfach keine verbindung auf, der errorcode is 11004</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16940">@EOP</a>:<br />
ich hab das mal so übernommen, wusste nur nicht, was fürn typ m_address sein muss, deshalb hab ichs mal rausgelassen, wenn ichs dann probier, gibt die funktion false zurück</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674771</guid><dc:creator><![CDATA[killmichnich]]></dc:creator><pubDate>Thu, 05 Mar 2009 17:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Thu, 05 Mar 2009 19:42:18 GMT]]></title><description><![CDATA[<pre><code>unsigned long m_address;
int m_iWSA_ErrorCode;

bool DNSLookup( LPCSTR cp )
{
    m_address = 0UL;
    hostent *he;
    unsigned long addr = inet_addr( cp );
    if( addr == INADDR_NONE )
    {
        if( (he = gethostbyname( cp )) == NULL )
            m_iWSA_ErrorCode = WSAGetLastError();
        if( !m_iWSA_ErrorCode )
        {
            m_address = *((unsigned long *) he-&gt;h_addr);
            return( true );
        }
    }
    else
    {
        m_address = addr;
        return( true );
    }

    return( false );
}

if( !DNSLookup( &quot;www.daniel92.blogdns.com&quot; ) )
{
	// m_iWSA_ErrorCode abfragen:
	// GENERAL FATAL - HOST NOT FOUND
	case 11001: // Host not found
	case 11002: // Non-Authoritative Host not found
	case 11003: // Non-Recoverable errors: // FORMERR, REFUSED, NOTIMP
	case 11004: // Valid name, no data record of requested
	...
}
</code></pre>
<pre><code>struct hostent* FAR gethostbyname( __in  [b]const char *name[/b] );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1674860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674860</guid><dc:creator><![CDATA[EOP]]></dc:creator><pubDate>Thu, 05 Mar 2009 19:42:18 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Thu, 05 Mar 2009 20:04:27 GMT]]></title><description><![CDATA[<p>ok thx<br />
so hab ichs ausprobiert, der error der ausgegeben wird is wieder 11004</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674874</guid><dc:creator><![CDATA[killmichnich]]></dc:creator><pubDate>Thu, 05 Mar 2009 20:04:27 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Thu, 05 Mar 2009 20:10:41 GMT]]></title><description><![CDATA[<p>killmichnich schrieb:</p>
<blockquote>
<p>11004</p>
</blockquote>
<p>net helpmsg 11004 schrieb:</p>
<blockquote>
<p>Der angeforderte Name ist gültig und wurde in der Datenbank gefunden. Er verfügt<br />
jedoch nicht über die richtigen zugeordneten Daten, die ausgewertet werden soll<br />
ten.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1674881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674881</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 05 Mar 2009 20:10:41 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Thu, 05 Mar 2009 20:17:24 GMT]]></title><description><![CDATA[<p>lass das www. weg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674885</guid><dc:creator><![CDATA[www.]]></dc:creator><pubDate>Thu, 05 Mar 2009 20:17:24 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Thu, 05 Mar 2009 20:24:48 GMT]]></title><description><![CDATA[<p>o.O<br />
ich blick zwar nich warum, aber es funktioniert :D:D<br />
danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674895</guid><dc:creator><![CDATA[killmichnich]]></dc:creator><pubDate>Thu, 05 Mar 2009 20:24:48 GMT</pubDate></item><item><title><![CDATA[Reply to socket error on Thu, 05 Mar 2009 21:06:54 GMT]]></title><description><![CDATA[<p>Nur mal so...</p>
<p>MSDN schrieb:</p>
<blockquote>
<p>Note The gethostbyname function has been deprecated by the introduction of the getaddrinfo function. Developers creating Windows Sockets 2 applications are urged to use the getaddrinfo function instead of gethostbyname.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1674917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674917</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 05 Mar 2009 21:06:54 GMT</pubDate></item></channel></rss>