<?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[TCP Server no matching fuction for call - Error]]></title><description><![CDATA[<p>Servus,</p>
<p>ich bin gerade dabei einen TCP Server zu erstellen unter Linux um diesen auf einen Server laufen zu lassen.</p>
<p>jetzt wollte ich den Code erstmal Testen aber ich bekomme immer folgende Fehlermeldungen/Hinweise von meinem g++ compiler</p>
<blockquote>
<p>server.cpp: In function ‘int main()’:<br />
server.cpp:31:78: warning: the address of ‘int bind(int, const sockaddr*, socklen_t)’ will always evaluate as ‘true’ [-Waddress]<br />
std::cout &lt;&lt; &quot;Es konnte keine Adresse hergestellt werden! Fehlercode: &quot; &lt;&lt; bind &lt;&lt; std::endl;<br />
^<br />
server.cpp:38:83: warning: the address of ‘int listen(int, int)’ will always evaluate as ‘true’ [-Waddress]<br />
std::cout &lt;&lt; &quot;Es konnte keine Warteschlange hergestellt werden! Fehlercode: &quot; &lt;&lt; listen &lt;&lt; std::endl;<br />
^<br />
server.cpp:49:44: error: no matching function for call to ‘sockaddr_in::sockaddr_in(sockaddr_in*)’<br />
sock2 = accept(sock, (struct sockaddr_in)&amp;server, &amp;len);<br />
^<br />
In file included from server.cpp:5:0:<br />
/usr/include/netinet/in.h:239:8: note: candidate: sockaddr_in::sockaddr_in()<br />
struct sockaddr_in<br />
^<br />
/usr/include/netinet/in.h:239:8: note: candidate expects 0 arguments, 1 provided<br />
/usr/include/netinet/in.h:239:8: note: candidate: sockaddr_in::sockaddr_in(const sockaddr_in&amp;)<br />
/usr/include/netinet/in.h:239:8: note: no known conversion for argument 1 from ‘sockaddr_in*’ to ‘const sockaddr_in&amp;’</p>
</blockquote>
<p>und der Code dazu:</p>
<pre><code>#include &lt;string.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;netdb.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;iostream&gt;

int main(){

std::cout &lt;&lt; &quot;Server wird gestartet.... &quot; &lt;&lt; std::endl;

std::cout &lt;&lt; &quot;Socket wird erstellt...&quot; &lt;&lt; std::endl;
int sock = socket(AF_INET, SOCK_STREAM, 0), sock2;
if(sock &lt; 0){
        std::cout &lt;&lt; &quot;Socket konnte nicht erstell werden! Fehlercode &quot; &lt;&lt; sock &lt;&lt; std::endl;
        return 1;
        }else{
        std::cout &lt;&lt; &quot;Socket wurde erfolgreich erstellt!&quot; &lt;&lt; std::endl;
        }
std::cout &lt;&lt; &quot;Eine Adresse wird erstellt ...&quot; &lt;&lt; std::endl;

struct sockaddr_in server;
memset( &amp;server, 0 ,sizeof(server));
server.sin_family = AF_INET;
server.sin_addr.s_addr = htonl(INADDR_ANY);
server.sin_port = htons(4000);

if(bind( sock, (struct sockaddr*)&amp;server, sizeof( server)) &lt; 0){
        std::cout &lt;&lt; &quot;Es konnte keine Adresse hergestellt  werden! Fehlercode: &quot; &lt;&lt; bind &lt;&lt; std::endl;
        }else{
        std::cout &lt;&lt; &quot;Eine Adresse wurde erfolgreich hergestellt!&quot; &lt;&lt; std::endl;
        }

std::cout &lt;&lt; &quot;Warteschlange wird erstellt...&quot; &lt;&lt; std::endl;
if( listen( sock, 40) == -1){
        std::cout &lt;&lt; &quot;Es konnte keine Warteschlange hergestellt werden! Fehlercode: &quot; &lt;&lt; listen &lt;&lt; std::endl;
        return 1;
        }else{
        std::cout &lt;&lt; &quot;Es wurde eine Warteschlange erstellt!&quot; &lt;&lt; std::endl;
}

socklen_t len;

while(true) //dauerschleife für server
{
        len = sizeof(server);
        sock2 = accept(sock, (struct sockaddr_in)&amp;server, &amp;len);
if(sock2 &lt; 0){
        std::cout &lt;&lt; &quot;Es ist ein Fehler bei der Akzeptans von Verbindungen aufgetaucht!&quot; &lt;&lt; std::endl;
        return 1; 
}

}
}
</code></pre>
<p>aber ich finde leider den Fehler nirgends....</p>
<p>PS: Ja ich weiß, dass ich noch erweiterte Fehlermeldungen einarbeiten muss <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/339035/tcp-server-no-matching-fuction-for-call-error</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 16:39:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339035.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 Jul 2016 20:03:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TCP Server no matching fuction for call - Error on Thu, 28 Jul 2016 20:03:02 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ich bin gerade dabei einen TCP Server zu erstellen unter Linux um diesen auf einen Server laufen zu lassen.</p>
<p>jetzt wollte ich den Code erstmal Testen aber ich bekomme immer folgende Fehlermeldungen/Hinweise von meinem g++ compiler</p>
<blockquote>
<p>server.cpp: In function ‘int main()’:<br />
server.cpp:31:78: warning: the address of ‘int bind(int, const sockaddr*, socklen_t)’ will always evaluate as ‘true’ [-Waddress]<br />
std::cout &lt;&lt; &quot;Es konnte keine Adresse hergestellt werden! Fehlercode: &quot; &lt;&lt; bind &lt;&lt; std::endl;<br />
^<br />
server.cpp:38:83: warning: the address of ‘int listen(int, int)’ will always evaluate as ‘true’ [-Waddress]<br />
std::cout &lt;&lt; &quot;Es konnte keine Warteschlange hergestellt werden! Fehlercode: &quot; &lt;&lt; listen &lt;&lt; std::endl;<br />
^<br />
server.cpp:49:44: error: no matching function for call to ‘sockaddr_in::sockaddr_in(sockaddr_in*)’<br />
sock2 = accept(sock, (struct sockaddr_in)&amp;server, &amp;len);<br />
^<br />
In file included from server.cpp:5:0:<br />
/usr/include/netinet/in.h:239:8: note: candidate: sockaddr_in::sockaddr_in()<br />
struct sockaddr_in<br />
^<br />
/usr/include/netinet/in.h:239:8: note: candidate expects 0 arguments, 1 provided<br />
/usr/include/netinet/in.h:239:8: note: candidate: sockaddr_in::sockaddr_in(const sockaddr_in&amp;)<br />
/usr/include/netinet/in.h:239:8: note: no known conversion for argument 1 from ‘sockaddr_in*’ to ‘const sockaddr_in&amp;’</p>
</blockquote>
<p>und der Code dazu:</p>
<pre><code>#include &lt;string.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;netdb.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;iostream&gt;

int main(){

std::cout &lt;&lt; &quot;Server wird gestartet.... &quot; &lt;&lt; std::endl;

std::cout &lt;&lt; &quot;Socket wird erstellt...&quot; &lt;&lt; std::endl;
int sock = socket(AF_INET, SOCK_STREAM, 0), sock2;
if(sock &lt; 0){
        std::cout &lt;&lt; &quot;Socket konnte nicht erstell werden! Fehlercode &quot; &lt;&lt; sock &lt;&lt; std::endl;
        return 1;
        }else{
        std::cout &lt;&lt; &quot;Socket wurde erfolgreich erstellt!&quot; &lt;&lt; std::endl;
        }
std::cout &lt;&lt; &quot;Eine Adresse wird erstellt ...&quot; &lt;&lt; std::endl;

struct sockaddr_in server;
memset( &amp;server, 0 ,sizeof(server));
server.sin_family = AF_INET;
server.sin_addr.s_addr = htonl(INADDR_ANY);
server.sin_port = htons(4000);

if(bind( sock, (struct sockaddr*)&amp;server, sizeof( server)) &lt; 0){
        std::cout &lt;&lt; &quot;Es konnte keine Adresse hergestellt  werden! Fehlercode: &quot; &lt;&lt; bind &lt;&lt; std::endl;
        }else{
        std::cout &lt;&lt; &quot;Eine Adresse wurde erfolgreich hergestellt!&quot; &lt;&lt; std::endl;
        }

std::cout &lt;&lt; &quot;Warteschlange wird erstellt...&quot; &lt;&lt; std::endl;
if( listen( sock, 40) == -1){
        std::cout &lt;&lt; &quot;Es konnte keine Warteschlange hergestellt werden! Fehlercode: &quot; &lt;&lt; listen &lt;&lt; std::endl;
        return 1;
        }else{
        std::cout &lt;&lt; &quot;Es wurde eine Warteschlange erstellt!&quot; &lt;&lt; std::endl;
}

socklen_t len;

while(true) //dauerschleife für server
{
        len = sizeof(server);
        sock2 = accept(sock, (struct sockaddr_in)&amp;server, &amp;len);
if(sock2 &lt; 0){
        std::cout &lt;&lt; &quot;Es ist ein Fehler bei der Akzeptans von Verbindungen aufgetaucht!&quot; &lt;&lt; std::endl;
        return 1; 
}

}
}
</code></pre>
<p>aber ich finde leider den Fehler nirgends....</p>
<p>PS: Ja ich weiß, dass ich noch erweiterte Fehlermeldungen einarbeiten muss <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2503859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503859</guid><dc:creator><![CDATA[trix0]]></dc:creator><pubDate>Thu, 28 Jul 2016 20:03:02 GMT</pubDate></item><item><title><![CDATA[Reply to TCP Server no matching fuction for call - Error on Thu, 28 Jul 2016 20:11:02 GMT]]></title><description><![CDATA[<p>Was erwartest du dir bei</p>
<pre><code class="language-cpp">std::cout &lt;&lt; ::bind;
</code></pre>
<p>Das gibt dir lediglich den Funktionspointer von ::bind().</p>
<p>Und für die Fehlermeldungen: Benutze <code>strerror(errno)</code><br />
Das selbe gilt für <code>listen()</code> .</p>
<p>Und bei <code>accept()</code> hast du vergessen zu einem Pointer zu casten.</p>
<p>Lauter Fehler, die du auch selber hättest finden können.<br />
Sehr enttäuschend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503861</guid><dc:creator><![CDATA[5475674576]]></dc:creator><pubDate>Thu, 28 Jul 2016 20:11:02 GMT</pubDate></item><item><title><![CDATA[Reply to TCP Server no matching fuction for call - Error on Sun, 31 Jul 2016 13:32:00 GMT]]></title><description><![CDATA[<p>5475674576 schrieb:</p>
<blockquote>
<p>Was erwartest du dir bei</p>
<p>Und bei <code>accept()</code> hast du vergessen zu einem Pointer zu casten.</p>
</blockquote>
<p>okay danke, das war die Lösung <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="😉"
    /> und bei den anderen Kommentare... lies dir mal bitte mein Post komplett... mit dem PS: bitte</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2504093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2504093</guid><dc:creator><![CDATA[trix0]]></dc:creator><pubDate>Sun, 31 Jul 2016 13:32:00 GMT</pubDate></item></channel></rss>