<?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[neu anfänger]]></title><description><![CDATA[<pre><code>#include &lt;stdio.h&gt;      // Header für Input/Output
#include &lt;windows.h&gt;    // Standart-Header für alle Windows-Programme
#include &lt;winsock2.h&gt;   // Header für die Verwendung von Sockets
#include &lt;cmaths&gt;

DWORD WINAPI Thread(LPVOID);

int main()
{
    long  result;           // Enthält die Rückgabewerte der Funktionen
     WSADATA wsa;           // Initialisierungs-Daten
     SOCKET socketAccept;   // Socket, der Verbindungen annimt
     SOCKET socketConnect;  // Socket, der eine Verbindung enthält
     SOCKADDR_IN addrBind;  // Daten für das Binden an einen Port

     // Mit WSAStartup werden die Sockets initialisiert
     result = WSAStartup(MAKEWORD(2, 0), &amp;wsa);
     if(result != 0)
     {
     printf(&quot;Fehler bei WSAStartup(): Code %d&quot;, result);
     return 0;
     }
     else
     {
         printf(&quot;WSAStartup() erfolgreich!&quot;);
     }

    // Initialisieren der Struktur SOCKADDR_IN
    memset(&amp;addrBind, 0, sizeof(SOCKADDR_IN));
    addrBind.sin_port      = htons(12345);
    addrBind.sin_family       = AF_INET;
    addrBind.sin_addr.s_addr = ADDR_ANY;
    result=bind(socketAccept, (SOCKADDR*) &amp;addrBind, sizeof(SOCKADDR_IN));
    if(result == SOCKET_ERROR)
    {
        printf(&quot;Fehler in bind(): Code %d&quot;, WSAGetLastError());
        return 0;
    }
    else
    {
        printf(&quot;bind() erfolgreich!&quot;);
    }

    // Initialisierung des socketAccept
    socketAccept = socket(AF_INET, SOCK_STREAM, 0);

    // socketAccept geht in den &quot;listen-mode&quot;
    result = listen(socketAccept, 10);
    if(result == SOCKET_ERROR)
    {
        printf(&quot;Fehler in listen(): Code %d&quot;, WSAGetLastError());
        return 0;
    }
    else
    {
       printf(&quot;listen() erfolgreich!&quot;);
    }

    while(true)
    {
        // accept() blockiert solang, bis eine Verbindung angenommen wurde
        socketConnect = accept(socketAccept, NULL, NULL);

        if(socketConnect == SOCKET_ERROR)
        {
            printf(&quot;Fehler in accept(): Code %dProgramm wird fortgesetzt&quot;,
                   WSAGetLastError());
            continue;
        }

        // Thread erstellen und weitermachen
        CreateThread(0, 0, Thread, (LPVOID) &amp;socket, 0, 0);
    }

    return 0;
}

DWORD WINAPI Thread(LPVOID data)
{
    char buf[256];            // Buffer für empfangene Daten
    SOCKET socket = (*)data;  // der Parameter wird derefernziert

    // Daten empfangen(blockiert)
    recv(socket, buf, 255, 0);

    // Daten senden
    send(socket, &quot;Du mich auch&quot;, 13, 0);

    // Verbindung schliesen
    closesocket(socket);

    return 0;
}
</code></pre>
<p>In dieser Line liegt der error</p>
<pre><code>SOCKET socket = (*)data;
</code></pre>
<p>Bin neuanfänger, also keine dummen fragen auslachen xD</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/241103/neu-anfänger</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Apr 2026 04:08:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241103.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 May 2009 16:26:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to neu anfänger on Fri, 15 May 2009 16:26:40 GMT]]></title><description><![CDATA[<pre><code>#include &lt;stdio.h&gt;      // Header für Input/Output
#include &lt;windows.h&gt;    // Standart-Header für alle Windows-Programme
#include &lt;winsock2.h&gt;   // Header für die Verwendung von Sockets
#include &lt;cmaths&gt;

DWORD WINAPI Thread(LPVOID);

int main()
{
    long  result;           // Enthält die Rückgabewerte der Funktionen
     WSADATA wsa;           // Initialisierungs-Daten
     SOCKET socketAccept;   // Socket, der Verbindungen annimt
     SOCKET socketConnect;  // Socket, der eine Verbindung enthält
     SOCKADDR_IN addrBind;  // Daten für das Binden an einen Port

     // Mit WSAStartup werden die Sockets initialisiert
     result = WSAStartup(MAKEWORD(2, 0), &amp;wsa);
     if(result != 0)
     {
     printf(&quot;Fehler bei WSAStartup(): Code %d&quot;, result);
     return 0;
     }
     else
     {
         printf(&quot;WSAStartup() erfolgreich!&quot;);
     }

    // Initialisieren der Struktur SOCKADDR_IN
    memset(&amp;addrBind, 0, sizeof(SOCKADDR_IN));
    addrBind.sin_port      = htons(12345);
    addrBind.sin_family       = AF_INET;
    addrBind.sin_addr.s_addr = ADDR_ANY;
    result=bind(socketAccept, (SOCKADDR*) &amp;addrBind, sizeof(SOCKADDR_IN));
    if(result == SOCKET_ERROR)
    {
        printf(&quot;Fehler in bind(): Code %d&quot;, WSAGetLastError());
        return 0;
    }
    else
    {
        printf(&quot;bind() erfolgreich!&quot;);
    }

    // Initialisierung des socketAccept
    socketAccept = socket(AF_INET, SOCK_STREAM, 0);

    // socketAccept geht in den &quot;listen-mode&quot;
    result = listen(socketAccept, 10);
    if(result == SOCKET_ERROR)
    {
        printf(&quot;Fehler in listen(): Code %d&quot;, WSAGetLastError());
        return 0;
    }
    else
    {
       printf(&quot;listen() erfolgreich!&quot;);
    }

    while(true)
    {
        // accept() blockiert solang, bis eine Verbindung angenommen wurde
        socketConnect = accept(socketAccept, NULL, NULL);

        if(socketConnect == SOCKET_ERROR)
        {
            printf(&quot;Fehler in accept(): Code %dProgramm wird fortgesetzt&quot;,
                   WSAGetLastError());
            continue;
        }

        // Thread erstellen und weitermachen
        CreateThread(0, 0, Thread, (LPVOID) &amp;socket, 0, 0);
    }

    return 0;
}

DWORD WINAPI Thread(LPVOID data)
{
    char buf[256];            // Buffer für empfangene Daten
    SOCKET socket = (*)data;  // der Parameter wird derefernziert

    // Daten empfangen(blockiert)
    recv(socket, buf, 255, 0);

    // Daten senden
    send(socket, &quot;Du mich auch&quot;, 13, 0);

    // Verbindung schliesen
    closesocket(socket);

    return 0;
}
</code></pre>
<p>In dieser Line liegt der error</p>
<pre><code>SOCKET socket = (*)data;
</code></pre>
<p>Bin neuanfänger, also keine dummen fragen auslachen xD</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711136</guid><dc:creator><![CDATA[Bearfist]]></dc:creator><pubDate>Fri, 15 May 2009 16:26:40 GMT</pubDate></item><item><title><![CDATA[Reply to neu anfänger on Fri, 15 May 2009 17:01:11 GMT]]></title><description><![CDATA[<p>Wo ist hier eine Frage?<br />
Welche Frage sollten wir denn dann auslachen, wenn es keine gibt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711157</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Fri, 15 May 2009 17:01:11 GMT</pubDate></item><item><title><![CDATA[Reply to neu anfänger on Fri, 15 May 2009 17:17:11 GMT]]></title><description><![CDATA[<p>Ich habe einen einzigen error wie im obigen post beschrieben und den möchte<br />
ich beheben...<br />
und ich hoffe ihr könnt mir helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
<p>Jetzt könnt ihr lachen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711171</guid><dc:creator><![CDATA[Bearfist]]></dc:creator><pubDate>Fri, 15 May 2009 17:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to neu anfänger on Fri, 15 May 2009 17:50:45 GMT]]></title><description><![CDATA[<p>Aus LPVOID schlussfolgere ich, dass data ein void-Pointer ist, d.h. du musst in Zeile 87 den void-Pointer nach SOCKET casten.</p>
<p>PS: ne Compiler-Fehlermeldung ist immer ganz hilfreich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711188</guid><dc:creator><![CDATA[Ravendark]]></dc:creator><pubDate>Fri, 15 May 2009 17:50:45 GMT</pubDate></item><item><title><![CDATA[Reply to neu anfänger on Fri, 15 May 2009 18:17:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">SOCKET socket = *((SOCKET*)data);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1711205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711205</guid><dc:creator><![CDATA[zomfglolaskates]]></dc:creator><pubDate>Fri, 15 May 2009 18:17:05 GMT</pubDate></item><item><title><![CDATA[Reply to neu anfänger on Sat, 16 May 2009 11:43:15 GMT]]></title><description><![CDATA[<p>Da ist aber noch ein ganz anderer Fehler!!!</p>
<p>Mittels &quot;&amp;socket&quot; übergibst du die Adresse der socket()-Funktion -)<br />
Du willst wohl eher '&amp;socketConnect' übergeben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1711382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1711382</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sat, 16 May 2009 11:43:15 GMT</pubDate></item></channel></rss>