<?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[Winsock : Connect schlägt fehl unbekannter Fehlercode]]></title><description><![CDATA[<p>Hallo,<br />
und zwar wagte ich mich gestern an die Socket Programmierung.<br />
Schrieb auch ein kleines Programm:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;windows.h&gt;
#include &lt;winsock2.h&gt;

#define MAX 50

/*
struct sockaddr_in {
   sa_family sin_family;          // Adressfamilie AF_XXX
   unsigned short int sin_port;   // Portnummer
   struct in_addr sin_addr;       // IP-Adresse
   unsigned char pad[8];          // Auffüllbytes für sockaddr
 };
*/ 

int main()   {
    SOCKET s;
    WSADATA wsa;
    SOCKADDR_IN addr;
    struct hostent *host;
    char ip[MAX];

    printf (&quot;Zu welcher IP soll verbunden werden: &quot;);
    scanf(&quot;%s&quot;,&amp;ip);

    printf (&quot;%s\n&quot;,ip);

    if(WSAStartup(MAKEWORD(2,0),&amp;wsa) != 0)  {
     printf (&quot;Winsock 2.0 konnte nicht gestartet werden\nFehlercode: %d\n&quot;,WSAGetLastError);
     return EXIT_FAILURE;
}     
    else
     printf (&quot;Winsock 2.0 erfolgreich gestartet\n&quot;);     

    if(s = socket(AF_INET,SOCK_STREAM,0) != -1)
     printf (&quot;Socket erfolgreich gestartet\n&quot;);
    else  {
     printf(&quot;Socket konnte nicht erstellt werden.\nFehlercode: %d\n&quot;,WSAGetLastError);
     return EXIT_FAILURE;   
}   

   memset(&amp;addr,0,sizeof(SOCKADDR_IN));

       if((host = gethostbyname(ip)) == NULL)  {
        printf (&quot;Konnte hostent Struktur nicht fuellen.\nFehlercode: %d\n&quot;,WSAGetLastError);        
        return EXIT_FAILURE;
}        

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

  if(connect(s,(struct SOCKADDR *)&amp;addr,sizeof(SOCKADDR_IN)) != -1)  
   printf (&quot;Erfolgreich verbunden :)\n&quot;);
  else  {
   printf(&quot;Konnte nicht zum Server verbinden\nFehlercode: %d\n&quot;,WSAGetLastError);
}   

return EXIT_SUCCESS;                            
}
</code></pre>
<p>Doch leider scheitert die Verbindung immer.<br />
Fehlercode: 4199536<br />
Weiß jemand was dort falsch ist in dem Code?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235464/winsock-connect-schlägt-fehl-unbekannter-fehlercode</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 02:40:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235464.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Mar 2009 17:30:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Winsock : Connect schlägt fehl unbekannter Fehlercode on Mon, 02 Mar 2009 17:30:24 GMT]]></title><description><![CDATA[<p>Hallo,<br />
und zwar wagte ich mich gestern an die Socket Programmierung.<br />
Schrieb auch ein kleines Programm:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;windows.h&gt;
#include &lt;winsock2.h&gt;

#define MAX 50

/*
struct sockaddr_in {
   sa_family sin_family;          // Adressfamilie AF_XXX
   unsigned short int sin_port;   // Portnummer
   struct in_addr sin_addr;       // IP-Adresse
   unsigned char pad[8];          // Auffüllbytes für sockaddr
 };
*/ 

int main()   {
    SOCKET s;
    WSADATA wsa;
    SOCKADDR_IN addr;
    struct hostent *host;
    char ip[MAX];

    printf (&quot;Zu welcher IP soll verbunden werden: &quot;);
    scanf(&quot;%s&quot;,&amp;ip);

    printf (&quot;%s\n&quot;,ip);

    if(WSAStartup(MAKEWORD(2,0),&amp;wsa) != 0)  {
     printf (&quot;Winsock 2.0 konnte nicht gestartet werden\nFehlercode: %d\n&quot;,WSAGetLastError);
     return EXIT_FAILURE;
}     
    else
     printf (&quot;Winsock 2.0 erfolgreich gestartet\n&quot;);     

    if(s = socket(AF_INET,SOCK_STREAM,0) != -1)
     printf (&quot;Socket erfolgreich gestartet\n&quot;);
    else  {
     printf(&quot;Socket konnte nicht erstellt werden.\nFehlercode: %d\n&quot;,WSAGetLastError);
     return EXIT_FAILURE;   
}   

   memset(&amp;addr,0,sizeof(SOCKADDR_IN));

       if((host = gethostbyname(ip)) == NULL)  {
        printf (&quot;Konnte hostent Struktur nicht fuellen.\nFehlercode: %d\n&quot;,WSAGetLastError);        
        return EXIT_FAILURE;
}        

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

  if(connect(s,(struct SOCKADDR *)&amp;addr,sizeof(SOCKADDR_IN)) != -1)  
   printf (&quot;Erfolgreich verbunden :)\n&quot;);
  else  {
   printf(&quot;Konnte nicht zum Server verbinden\nFehlercode: %d\n&quot;,WSAGetLastError);
}   

return EXIT_SUCCESS;                            
}
</code></pre>
<p>Doch leider scheitert die Verbindung immer.<br />
Fehlercode: 4199536<br />
Weiß jemand was dort falsch ist in dem Code?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672984</guid><dc:creator><![CDATA[SocketError]]></dc:creator><pubDate>Mon, 02 Mar 2009 17:30:24 GMT</pubDate></item><item><title><![CDATA[Reply to Winsock : Connect schlägt fehl unbekannter Fehlercode on Mon, 02 Mar 2009 17:49:37 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">printf(&quot;Konnte nicht zum Server verbinden\nFehlercode: %d\n&quot;,WSAGetLastError);
</code></pre>
</blockquote>
<p>Aha.<br />
Du gibst die Adresse von &quot;WSAGetLastError&quot; aus. Bringt nu' nicht gerade viel, gell? <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>
<p>Tip: häng an &quot;WSAGetLastError&quot; mal einfach &quot;()&quot; an, dann bekommst du den Error-Code ausgedruckt und nicht eine Hausnummer. <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>
<p>EDIT: falls du von VB her kommst: in C++ muss man immer Klammern schreiben wenn man eine Funktion aufrufen will, auch wenn diese keine Parameter hat. Sonst wird die Funktion nämlich NICHT aufgerufen, und man bekommt die Adresse der Funktion stattdessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672996</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 02 Mar 2009 17:49:37 GMT</pubDate></item><item><title><![CDATA[Reply to Winsock : Connect schlägt fehl unbekannter Fehlercode on Mon, 02 Mar 2009 17:57:18 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>EDIT: falls du von VB her kommst: in C++ muss man immer Klammern schreiben wenn man eine Funktion aufrufen will, auch wenn diese keine Parameter hat. Sonst wird die Funktion nämlich NICHT aufgerufen, und man bekommt die Adresse der Funktion stattdessen.</p>
</blockquote>
<p>Ja komme wirklich von VB.<br />
<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>
<p>Fehlercode:</p>
<pre><code>WSAENOTSOCK
10038

Socket operation on nonsocket.

    An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid.
</code></pre>
<p>Aber ich erhalte einen &quot;gültigen&quot; Socket zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673006</guid><dc:creator><![CDATA[SocketError]]></dc:creator><pubDate>Mon, 02 Mar 2009 17:57:18 GMT</pubDate></item><item><title><![CDATA[Reply to Winsock : Connect schlägt fehl unbekannter Fehlercode on Mon, 02 Mar 2009 18:36:40 GMT]]></title><description><![CDATA[<p>Ich würde die Zuweisung hier drin</p>
<pre><code class="language-cpp">if(s = socket(AF_INET,SOCK_STREAM,0) != -1)
</code></pre>
<p>nochmal klammern. Sonst sehe ich nix.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673031</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 02 Mar 2009 18:36:40 GMT</pubDate></item></channel></rss>