<?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[winsocket]]></title><description><![CDATA[<p>ich beschäftige mich seit einiger Zeit mit C++ und wollte nun eine Verbindung zu einer webseite aufbauen, nur leider bekomm ich es nicht hin den hostent zeiger von gethostbyname in struct addr_in zu casten. sieht jemand den fehler. ist wahrscheinlich irgendetwas triviales.</p>
<p>borland gibt einen fehler bei</p>
<pre><code class="language-cpp">addr.sin_addr = *(struct in_addr*) host_data-&gt;h_addr;
</code></pre>
<p>aus mit</p>
<blockquote>
<p>[C++ Fehler] Projekt1.cpp(25): E2288 Zeiger auf Struktur auf linker Seite von -&gt; oder von -&gt;* erforderlich*</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;clx.h&gt;
#include &lt;winsock.h&gt;
#pragma hdrstop

#pragma argsused

int main(int argc, char* argv[])
{
int s;
struct sockaddr_in addr;
s = socket( AF_INET, SOCK_STREAM, 0);

    if (s == -1)
        {
        perror(&quot;socket() failed&quot;);
        return 1;
        }

hostent host_data;
host_data = *gethostbyname(&quot;google.de&quot;);

addr.sin_addr = *(struct in_addr*) host_data-&gt;h_addr;
addr.sin_port =  htons(80);
addr.sin_family = AF_INET;

    if (connect(s, &amp;addr, sizeof(addr)) == -1)
        {
        perror (&quot;connect() failed&quot;);
        return 2;
        }

        return 0;
}
</code></pre>
<p>danke für eure hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/293397/winsocket</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 08:12:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293397.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Oct 2011 11:01:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to winsocket on Sun, 02 Oct 2011 11:01:39 GMT]]></title><description><![CDATA[<p>ich beschäftige mich seit einiger Zeit mit C++ und wollte nun eine Verbindung zu einer webseite aufbauen, nur leider bekomm ich es nicht hin den hostent zeiger von gethostbyname in struct addr_in zu casten. sieht jemand den fehler. ist wahrscheinlich irgendetwas triviales.</p>
<p>borland gibt einen fehler bei</p>
<pre><code class="language-cpp">addr.sin_addr = *(struct in_addr*) host_data-&gt;h_addr;
</code></pre>
<p>aus mit</p>
<blockquote>
<p>[C++ Fehler] Projekt1.cpp(25): E2288 Zeiger auf Struktur auf linker Seite von -&gt; oder von -&gt;* erforderlich*</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;clx.h&gt;
#include &lt;winsock.h&gt;
#pragma hdrstop

#pragma argsused

int main(int argc, char* argv[])
{
int s;
struct sockaddr_in addr;
s = socket( AF_INET, SOCK_STREAM, 0);

    if (s == -1)
        {
        perror(&quot;socket() failed&quot;);
        return 1;
        }

hostent host_data;
host_data = *gethostbyname(&quot;google.de&quot;);

addr.sin_addr = *(struct in_addr*) host_data-&gt;h_addr;
addr.sin_port =  htons(80);
addr.sin_family = AF_INET;

    if (connect(s, &amp;addr, sizeof(addr)) == -1)
        {
        perror (&quot;connect() failed&quot;);
        return 2;
        }

        return 0;
}
</code></pre>
<p>danke für eure hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2126152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2126152</guid><dc:creator><![CDATA[R33D]]></dc:creator><pubDate>Sun, 02 Oct 2011 11:01:39 GMT</pubDate></item><item><title><![CDATA[Reply to winsocket on Sun, 02 Oct 2011 11:27:27 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">hostent *host;
host = gethostbyname(&quot;www.google.com&quot;);
addr.sin_addr = *reinterpret_cast&lt;in_addr*&gt;(host_data-&gt;h_addr);
</code></pre>
<p>Vielleicht den Zugriff auf Membervariablen noch mal angucken. (Dann hätte dir die Fehlermeldung auch etwas gesagt, nämlich dass host_data ein Pointer sein muss.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2126162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2126162</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 02 Oct 2011 11:27:27 GMT</pubDate></item><item><title><![CDATA[Reply to winsocket on Sun, 02 Oct 2011 12:24:03 GMT]]></title><description><![CDATA[<p>achso ja, ok danke.</p>
<p>so richtig?</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{

{
		WSADATA wsa;
		if (WSAStartup(MAKEWORD(1, 1), &amp;wsa))
		{
			printf(&quot;WSAStartup() failed, %lu\n&quot;, (unsigned long)GetLastError());
			return EXIT_FAILURE;
		}
}

int s;
struct sockaddr_in addr;
s = socket( AF_INET, SOCK_STREAM, 0);

    if (s == -1)
        {
        perror(&quot;socket() failed&quot;);
        getch();
        return 1;
        }

hostent *host_data;
*host_data = *gethostbyname(&quot;google.de&quot;);

addr.sin_addr = *(struct in_addr*) host_data-&gt;h_addr;      
addr.sin_port =  htons(80);
addr.sin_family = AF_INET;
getch();
    if (connect(s, (sockaddr*)&amp;addr, sizeof(addr)) == -1)
        {
        perror (&quot;connect() failed&quot;);
        return 2;
        }
    else
        { cout &lt;&lt; &quot;connection sucessful...&quot; &lt;&lt; endl; }
    getch();

        return 0;
}
</code></pre>
<p>jetz meckert er aber bei</p>
<pre><code class="language-cpp">*host_data = *gethostbyname(&quot;google.de&quot;);
</code></pre>
<p>und bringt die Meldung</p>
<blockquote>
<p>Exception der Klasse EAccessviolation</p>
</blockquote>
<p>was habe ich denn da schon wieder falsch gemacht, aller Anfang ist schwer...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2126186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2126186</guid><dc:creator><![CDATA[R33D]]></dc:creator><pubDate>Sun, 02 Oct 2011 12:24:03 GMT</pubDate></item><item><title><![CDATA[Reply to winsocket on Sun, 02 Oct 2011 13:19:25 GMT]]></title><description><![CDATA[<p>Guck dir doch einfach den Code an den ich geschrieben habe und ersetze bei dir die Zeilen 25 - 28. Pointer scheinst du noch gar nicht verstanden zu haben, das würde ich erst mal nachholen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2126216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2126216</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 02 Oct 2011 13:19:25 GMT</pubDate></item></channel></rss>