<?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[Sockets macht Probleme.]]></title><description><![CDATA[<p>//edit: sorry... topic gehört eher in Unix/Linux.</p>
<p>Hallo!<br />
Seit mehreren Wochen nun lern ich schon C++ und nun wollte ich mal ausprobieren, eine TCP-Verbindung herzustellen.<br />
Hab mir ein paar Infos aus dem Netz gesucht und zur Zeit sieht mein code so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/inet.h&gt;
using namespace std;

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

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

	addr.sin_addr.s_addr = inet_addr(&quot;127.0.0.1&quot;);
	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>Nur zur Info: Ich verwende Mac OS X.</p>
<p>In einer der letzten Zeilen wo es heisst:</p>
<pre><code class="language-cpp">if (connect(s, &amp;addr, sizeof(addr)) == -1) {
</code></pre>
<p>Kommt ein Fehler auf:</p>
<pre><code>error: cannot convert 'sockaddr_in*' to 'const sockaddr*' for argument '2' to 'int connect(int, const sockaddr*, socklen_t)'
</code></pre>
<p>Kann mir da wer helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/206813/sockets-macht-probleme</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 15:53:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206813.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 29 Feb 2008 12:06:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sockets macht Probleme. on Fri, 29 Feb 2008 12:09:15 GMT]]></title><description><![CDATA[<p>//edit: sorry... topic gehört eher in Unix/Linux.</p>
<p>Hallo!<br />
Seit mehreren Wochen nun lern ich schon C++ und nun wollte ich mal ausprobieren, eine TCP-Verbindung herzustellen.<br />
Hab mir ein paar Infos aus dem Netz gesucht und zur Zeit sieht mein code so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/inet.h&gt;
using namespace std;

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

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

	addr.sin_addr.s_addr = inet_addr(&quot;127.0.0.1&quot;);
	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>Nur zur Info: Ich verwende Mac OS X.</p>
<p>In einer der letzten Zeilen wo es heisst:</p>
<pre><code class="language-cpp">if (connect(s, &amp;addr, sizeof(addr)) == -1) {
</code></pre>
<p>Kommt ein Fehler auf:</p>
<pre><code>error: cannot convert 'sockaddr_in*' to 'const sockaddr*' for argument '2' to 'int connect(int, const sockaddr*, socklen_t)'
</code></pre>
<p>Kann mir da wer helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1465347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1465347</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 29 Feb 2008 12:09:15 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets macht Probleme. on Fri, 29 Feb 2008 12:28:41 GMT]]></title><description><![CDATA[<p>caste addr nach sockaddr*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1465367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1465367</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Fri, 29 Feb 2008 12:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets macht Probleme. on Fri, 29 Feb 2008 13:27:33 GMT]]></title><description><![CDATA[<p>Wie mach ich das?</p>
<p>//edit: Also ich mein, wie mach ich das, weil es steht nirgends sockaddr*.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1465447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1465447</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 29 Feb 2008 13:27:33 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets macht Probleme. on Fri, 29 Feb 2008 13:35:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if (connect(s, (sockaddr*)&amp;addr, sizeof(addr)) == -1) {
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1465459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1465459</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Fri, 29 Feb 2008 13:35:32 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets macht Probleme. on Fri, 29 Feb 2008 13:37:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if (connect(s, (const sockaddr*)&amp;addr, sizeof(addr)) == -1) { // ... }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1465463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1465463</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Fri, 29 Feb 2008 13:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets macht Probleme. on Fri, 29 Feb 2008 13:59:12 GMT]]></title><description><![CDATA[<p>Muss man casts nicht in spitzen klammern schreiben? also &lt;...&gt;? Fuer was waren sonst nochmal die &lt;&gt;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1465491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1465491</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 29 Feb 2008 13:59:12 GMT</pubDate></item><item><title><![CDATA[Reply to Sockets macht Probleme. on Fri, 29 Feb 2008 14:03:04 GMT]]></title><description><![CDATA[<p>Unter C++ nutzt man normalerweise static_cast&lt;T&gt;, dynamic_cast&lt;T&gt; und reinterpret_cast&lt;T&gt;.</p>
<p>Das würde dann so aussehen:</p>
<pre><code class="language-cpp">if (connect(s, static_cast&lt;const sockaddr*&gt;(&amp;addr), sizeof(addr)) == -1) { // ... }
</code></pre>
<p>Ansonsten nutzt man spitze Klammern bei Templates.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1465498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1465498</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Fri, 29 Feb 2008 14:03:04 GMT</pubDate></item></channel></rss>