<?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[Problem mit Server Programm]]></title><description><![CDATA[<p>Habe folgenden Code im Internet gefunden:</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt; 
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;

int main (int argc, char* argv[]) { 
  WSADATA wdData; 
  int T=1;
  if (WSAStartup(MAKEWORD(2, 0), &amp;wdData) == INVALID_SOCKET) { 
    printf (&quot;Konnte Winsock nicht initialiesiren\n&quot;); 
    system (&quot;PAUSE&quot;); 
    return 256;                    
  } else { 
   printf (&quot;Winsock initialisiert\n&quot;);
  } 

  SOCKET sckSocket; 
  SOCKADDR_IN addrServer; 
  char Request[100]; 

  /* SOCKADDR_IN erstellen und Port setzen, auf dem er hört. */ 
  addrServer.sin_addr.s_addr = INADDR_ANY; // listen on all IPs associated with this computer 
  addrServer.sin_port = htons(5110); // bind to port 80 
  addrServer.sin_family = AF_INET; 
  manager();
  if ((sckSocket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) { 
   printf (&quot;Konnte kein Socket erstellen\n&quot;);
    system (&quot;PAUSE&quot;); 
    return 256; 
  } else { 
    printf (&quot;Socket erstell\n&quot;);
  } 

  if (bind(sckSocket, (SOCKADDR *) &amp;addrServer, sizeof(addrServer)) == SOCKET_ERROR) { 
    printf (&quot;Konnte nich an Port binden\n&quot;);
    system (&quot;PAUSE&quot;); 
    return 254; 
  } else { 
   printf (&quot;An Port gebunden\n&quot;);    
  } 

  if (listen(sckSocket, 4) == SOCKET_ERROR) { 
    printf (&quot;Socket kann nicht hören\n&quot;);
    system (&quot;PAUSE&quot;); 
    return 253; 
  } else { 
    printf (&quot;Socket hört\n&quot;);       
  } 

  while (T) { 
    /* Zum Ausgrenzen um die Anzahl und schnelligkeit der Durchläufe zu sehen */ 

    SOCKET sckClient = accept(sckSocket, 0, 0); 
    if (sckClient != INVALID_SOCKET) { 
      /* Nur 1 Strich und kein 'hier müsste was kommen' Also bleibts bei Accept stehen. */ 
      printf (&quot;Hier müsste was kommen\n&quot;); 

      if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) { 
        printf (&quot;%s\n&quot;,Request);
      if (Request == &quot;CMD&quot;)
      printf (&quot;Es geht\n&quot;);       
      } 
    } 
  } 

  closesocket (sckSocket); 
  system (&quot;PAUSE&quot;); 
  return 0; 
}
</code></pre>
<p>Es wird jetzt aba nur Angezeigt was gesendet wurde wenn die Verbindung getrennt wurde.<br />
Und ich will das wenn CMD gesendet wird das des dann ausgeben wird auf dem Bildschrim leider geht dies alles nicht.<br />
Hoffe jemand kann mir weiter helfen...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180128/problem-mit-server-programm</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 12:16:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180128.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Apr 2007 11:16:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Server Programm on Sun, 29 Apr 2007 11:16:59 GMT]]></title><description><![CDATA[<p>Habe folgenden Code im Internet gefunden:</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt; 
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;

int main (int argc, char* argv[]) { 
  WSADATA wdData; 
  int T=1;
  if (WSAStartup(MAKEWORD(2, 0), &amp;wdData) == INVALID_SOCKET) { 
    printf (&quot;Konnte Winsock nicht initialiesiren\n&quot;); 
    system (&quot;PAUSE&quot;); 
    return 256;                    
  } else { 
   printf (&quot;Winsock initialisiert\n&quot;);
  } 

  SOCKET sckSocket; 
  SOCKADDR_IN addrServer; 
  char Request[100]; 

  /* SOCKADDR_IN erstellen und Port setzen, auf dem er hört. */ 
  addrServer.sin_addr.s_addr = INADDR_ANY; // listen on all IPs associated with this computer 
  addrServer.sin_port = htons(5110); // bind to port 80 
  addrServer.sin_family = AF_INET; 
  manager();
  if ((sckSocket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) { 
   printf (&quot;Konnte kein Socket erstellen\n&quot;);
    system (&quot;PAUSE&quot;); 
    return 256; 
  } else { 
    printf (&quot;Socket erstell\n&quot;);
  } 

  if (bind(sckSocket, (SOCKADDR *) &amp;addrServer, sizeof(addrServer)) == SOCKET_ERROR) { 
    printf (&quot;Konnte nich an Port binden\n&quot;);
    system (&quot;PAUSE&quot;); 
    return 254; 
  } else { 
   printf (&quot;An Port gebunden\n&quot;);    
  } 

  if (listen(sckSocket, 4) == SOCKET_ERROR) { 
    printf (&quot;Socket kann nicht hören\n&quot;);
    system (&quot;PAUSE&quot;); 
    return 253; 
  } else { 
    printf (&quot;Socket hört\n&quot;);       
  } 

  while (T) { 
    /* Zum Ausgrenzen um die Anzahl und schnelligkeit der Durchläufe zu sehen */ 

    SOCKET sckClient = accept(sckSocket, 0, 0); 
    if (sckClient != INVALID_SOCKET) { 
      /* Nur 1 Strich und kein 'hier müsste was kommen' Also bleibts bei Accept stehen. */ 
      printf (&quot;Hier müsste was kommen\n&quot;); 

      if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) { 
        printf (&quot;%s\n&quot;,Request);
      if (Request == &quot;CMD&quot;)
      printf (&quot;Es geht\n&quot;);       
      } 
    } 
  } 

  closesocket (sckSocket); 
  system (&quot;PAUSE&quot;); 
  return 0; 
}
</code></pre>
<p>Es wird jetzt aba nur Angezeigt was gesendet wurde wenn die Verbindung getrennt wurde.<br />
Und ich will das wenn CMD gesendet wird das des dann ausgeben wird auf dem Bildschrim leider geht dies alles nicht.<br />
Hoffe jemand kann mir weiter helfen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275572</guid><dc:creator><![CDATA[ChickenWing]]></dc:creator><pubDate>Sun, 29 Apr 2007 11:16:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Server Programm on Sun, 29 Apr 2007 13:30:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if (sckClient != INVALID_SOCKET) { 

        /* Nur 1 Strich und kein 'hier müsste was kommen' Also bleibts bei Accept stehen. */ 
        printf (&quot;Hier müsste was kommen\n&quot;); 

        if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) { 
            printf (&quot;%s\n&quot;,Request);
        if (Request == &quot;CMD&quot;)
            printf (&quot;Es geht\n&quot;);       
    } else { 
      /* 
       * Hier mittels ::WSAGetLastError() und ggf ::FormatMessage(..)
       * Fehler behandeln !
       */ 
    }
</code></pre>
<p>Eine Testausschrift an der Stelle wäre bestimmt aufschlussreich.</p>
<p>Grüsse</p>
<p>Gast++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275668</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Sun, 29 Apr 2007 13:30:57 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Server Programm on Sun, 29 Apr 2007 14:34:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">const char* str=&quot;CMD&quot;;
if(req==str)
{//...
</code></pre>
<p>so wird das nicht funktionieren. man kann char arrays nicht so einfach miteinander vergleichen wie std::strings. du musst dafür eine funktion wie z.b. strncmp() verwenden.</p>
<p><a href="http://www.cppreference.com/stdstring/strncmp.html" rel="nofollow">http://www.cppreference.com/stdstring/strncmp.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275712</guid><dc:creator><![CDATA[Se_Godfaser]]></dc:creator><pubDate>Sun, 29 Apr 2007 14:34:12 GMT</pubDate></item></channel></rss>