<?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] Hilfe bei Chat Server]]></title><description><![CDATA[<p>Ich bin grade dabei einen Server in C zu schreiben.<br />
Nur leider wartet er nicht auf Verbindungen:</p>
<pre><code class="language-cpp">int verbindung()
{
 WSADATA wdData;
  if (WSAStartup(MAKEWORD(2, 0), &amp;wdData) == INVALID_SOCKET) {
    printf (&quot;Konnte WinSock nicht initialisieren!\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(130); 
  addrServer.sin_family = AF_INET;

  if ((sckSocket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) {
    printf (&quot;Konnte keinen Socket erstellen!\n&quot;);
    system (&quot;PAUSE&quot;);
    return 256;
  } else {
    printf (&quot;Socket erstellt!\n&quot;);
  }

  if (bind(sckSocket, (SOCKADDR *) &amp;addrServer, sizeof(addrServer)) == SOCKET_ERROR) {
    printf  (&quot;Konnte nicht 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 (0) {
    /* 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. */

      if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) {
        printf  (&quot;Request\n&quot;);

        /* Auf Request antworten. */
        char test[] = &quot;hallo zurück&quot;;
        send (sckSocket, test, 12, 0);
      }
    }
  }

  closesocket (sckSocket);     
}     

int main (int argc, char* argv[]) 
{
verbindung();    
  system (&quot;PAUSE&quot;);
  return 0;
}
</code></pre>
<p>wie gesagt wartet er nicht auf Verbindungen.<br />
Und wie mache ich es,das alles was gesendet wird direkt ausgegeben wird?</p>
<p>Wäre echt toll wenn mir jemand helfen könnte.</p>
<p>Mfg<br />
CHB</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187857/winsock-hilfe-bei-chat-server</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 21:57:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187857.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Jul 2007 17:57:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 17:57:49 GMT]]></title><description><![CDATA[<p>Ich bin grade dabei einen Server in C zu schreiben.<br />
Nur leider wartet er nicht auf Verbindungen:</p>
<pre><code class="language-cpp">int verbindung()
{
 WSADATA wdData;
  if (WSAStartup(MAKEWORD(2, 0), &amp;wdData) == INVALID_SOCKET) {
    printf (&quot;Konnte WinSock nicht initialisieren!\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(130); 
  addrServer.sin_family = AF_INET;

  if ((sckSocket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) {
    printf (&quot;Konnte keinen Socket erstellen!\n&quot;);
    system (&quot;PAUSE&quot;);
    return 256;
  } else {
    printf (&quot;Socket erstellt!\n&quot;);
  }

  if (bind(sckSocket, (SOCKADDR *) &amp;addrServer, sizeof(addrServer)) == SOCKET_ERROR) {
    printf  (&quot;Konnte nicht 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 (0) {
    /* 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. */

      if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) {
        printf  (&quot;Request\n&quot;);

        /* Auf Request antworten. */
        char test[] = &quot;hallo zurück&quot;;
        send (sckSocket, test, 12, 0);
      }
    }
  }

  closesocket (sckSocket);     
}     

int main (int argc, char* argv[]) 
{
verbindung();    
  system (&quot;PAUSE&quot;);
  return 0;
}
</code></pre>
<p>wie gesagt wartet er nicht auf Verbindungen.<br />
Und wie mache ich es,das alles was gesendet wird direkt ausgegeben wird?</p>
<p>Wäre echt toll wenn mir jemand helfen könnte.</p>
<p>Mfg<br />
CHB</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331752</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 17:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 18:14:36 GMT]]></title><description><![CDATA[<p>CHB schrieb:</p>
<blockquote>
<p>wie gesagt wartet er nicht auf Verbindungen.</p>
</blockquote>
<p>Das Programm überspringt die while-Schleife. accept () usw. wird nicht erreicht :</p>
<pre><code class="language-cpp">// while (0) {
while (1) {     // &lt;- !
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1331765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331765</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Jul 2007 18:14:36 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 18:40:39 GMT]]></title><description><![CDATA[<p>Ich habe deinen Quellcode jetzt mal nur überflogen, doch vielleicht wartet deine Anwendung auf Verbindungen wenn du dem Programm überhaupt einmal die Möglichkeit dazu gibst, indem du es irgendwie einrichtest, dass die whileschleife betreten werden kann.</p>
<p>Denn dieses while(0) macht alles was in der Schleife steht irgendwie überflüssig <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>---</p>
<p>Aber mal davon abgesehen.<br />
Auch wenn dein Programm auf Verbindungen warten wird, glaube ich nicht, dass du etwas damit anfangen kannst.<br />
Denn wenn eine Verbindung hergestellt wird, wird sie am Ende des Schleifendurchlaufs wieder gelöscht.<br />
Und da der Client wohl nur einmal versucht sich mit dem Server zu verbinden wirst du danach wohl auch nichts mehr vom Clienten hören.</p>
<p>---<br />
Und wenn du eine Nachricht verschicken möchtest, musst du in der send-funktion den gewünschten Empfänger angeben (also sckClient) und nicht den Sender (hast hier sckServer geschrieben)<br />
---<br />
Für dein Vorhaben würde es sich vielleicht auch lohnen sich die Funktion select() sowie fd_set näher anzuschauen.</p>
<p>EDIT:<br />
ui, da war der Merker wohl schneller</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331772</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 24 Jul 2007 18:40:39 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 18:51:42 GMT]]></title><description><![CDATA[<p>CHB schrieb:</p>
<blockquote>
<pre><code class="language-cpp">SOCKET sckClient = accept(sckSocket, 0, 0);
</code></pre>
</blockquote>
<p>hältst du das für klug <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331785</guid><dc:creator><![CDATA[0_O]]></dc:creator><pubDate>Tue, 24 Jul 2007 18:51:42 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 19:11:10 GMT]]></title><description><![CDATA[<p><a href="http://www.c-worker.ch" rel="nofollow">www.c-worker.ch</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331799</guid><dc:creator><![CDATA[sadasa]]></dc:creator><pubDate>Tue, 24 Jul 2007 19:11:10 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 19:12:00 GMT]]></title><description><![CDATA[<p>@0_O:<br />
Was wäre den die bessere Lösung?<br />
Des is mein erstes Projekt mit Sockets in C.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331800</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 19:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 19:31:00 GMT]]></title><description><![CDATA[<p>Ok danke habe des jetzt mit der Schleife geändert.<br />
Aber wenn ich jetzt was hinsende z.B &quot;Hallo&quot; klappt alles.<br />
Wenn ich aber danach noch was senden will kommt irgendwie nix an.<br />
Woran liegt das?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331809</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 19:31:00 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 19:41:10 GMT]]></title><description><![CDATA[<p>Das Problem ist weniger die Funktion selbst als der Ort wo du die benutzt.<br />
--------</p>
<p>Schleife beginnt:</p>
<p>erstelle socket (sckClient)<br />
Client meldet sich erfolgreich an und der Clientsocket wird erstellt<br />
(sckClient)</p>
<p>Empfange nachricht<br />
Schreib nachricht &quot;zurück&quot;(in wahrheit sendet das Programm hier an sichselbst, da du den falschen Socket angegeben hast)</p>
<p>Schleife Ende: sckClient wird gelöscht</p>
<p>Zweiter Durchlauf bis Durchlauf X :</p>
<p>ertelle neuen Socket (sckClient (v2-x))<br />
Server versucht einen Clienten anmelden zu lassen, doch leider ohne Erfolg(der Client wird wohl nicht jedes mal versuchen sich beim Server anzumelden)</p>
<p>Es wird weder versucht eine Nachricht abzufangen noch eine Nachricht zu schreiben.</p>
<p>Schleifendurchlaufende ... usw</p>
<p>Soll heißen: Bei dem jetzigen Code hat der Server nur einen Schleifendurchlauf Kontakt mit einem gerade angemeldeten Clienten.</p>
<p>Abhilfe schafft die Funktion &quot;select&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331814</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 24 Jul 2007 19:41:10 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 19:43:03 GMT]]></title><description><![CDATA[<p>Könntest du mir da ein Codeschnipsel geben?<br />
Bin noch totaler Anfänger was socktes angeht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331815</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 19:43:03 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 19:51:21 GMT]]></title><description><![CDATA[<p>Ist zwar kein reines C, doch wirst du da bestimmt das nötige rauslesen können.</p>
<p><a href="http://www.zfx.info/Tutorials.php?ID=84" rel="nofollow">http://www.zfx.info/Tutorials.php?ID=84</a></p>
<h2>Das ist ein Tutorial für einen kompletten Konsolenchat (funktioniert sowohl im Netzwerk als auch über das Internet), doch vor allem einem funktionierendem Chat.</h2>
<p>Falls du so überhaupt nichts mit c++ am Hut hast und auch nicht haben möchtest, dann schaue dir in diesem Tutorial die Funktion &quot;Server::ServerMain&quot; mal an, dort sollten alle relevanten Codeschnipsel drinne sein, auch wenn zum Verständnis das Lesen des restlichen Zeugs nicht schaden würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331818</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 24 Jul 2007 19:51:21 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 19:56:39 GMT]]></title><description><![CDATA[<p>Komme damit nicht so richtig klar da ich kein C++ kann.<br />
Könntest mir jemand meinen C Code richtig umschreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331821</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 19:56:39 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 20:06:33 GMT]]></title><description><![CDATA[<blockquote>
<p>Ok danke habe des jetzt mit der Schleife geändert.<br />
Aber wenn ich jetzt was hinsende z.B &quot;Hallo&quot; klappt alles.<br />
Wenn ich aber danach noch was senden will kommt irgendwie nix an.<br />
Woran liegt das?</p>
</blockquote>
<p>Wenn dein Programm zu mindest einmal so geklappt hast wie du es wolltest, scheint die Sache mit dem Clientsocket in der Whileschleife dein einziges Problem sein.<br />
Doch dafür muss dir keiner was umschreiben, das kannst du auch alleine wenn du so weit gekommen bist.</p>
<p>Die Deklaration des Clientsocket verschiebst du erst einmal vor die Schleife, sodass der Socket nicht im jeden Schleifendurchlauf gelöscht wird.</p>
<p>Dort wo jetzt noch die Deklaration des Clientsocket steht musst du prüfen ob eine Nachricht vorhanden ist.</p>
<p>dafür musst du dich mit der funktion &quot;select&quot; sowie der struktur &quot;fd_set&quot; auseinadnersetzen.<br />
Das makro FD_ZERO (zur vereinfachung vielleicht auch noch mit FD_SET) wäre sicherlich auch noch ganz gut.</p>
<p>Kleiner Tipp:<br />
Wenn sich sich ein Client anmelden möchte, dann taucht der Socket im Listenmodus(sckServer) in der fd_set-struktur auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331823</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 24 Jul 2007 20:06:33 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 20:07:25 GMT]]></title><description><![CDATA[<p>Also habe es jetzt so gelöst,das man jetzt beliebige Sachen zum server hinsenden kann.<br />
Aber wenn ich den client beende.<br />
Läuft der Server dauernt weiter.<br />
d.h er gibt verschiedene Nachrichten aus.<br />
So jetzt hatte vorhin jemand gesagt das wenn ich was an den Client senden will mache ich es völlig verkehrt.<br />
Wie sende ich den richtig Sachen an den Client?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331826</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 20:07:25 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 20:08:58 GMT]]></title><description><![CDATA[<p>Du schriebst &quot;send(sckServer, blabla)&quot;;<br />
Doch es´muss heißen &quot;send(sckClient, blabla)&quot;;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331827</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 24 Jul 2007 20:08:58 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 20:11:19 GMT]]></title><description><![CDATA[<p>So gut ok danke.<br />
Jetzt hatte ich die Schleife ein bisschen erweitert:</p>
<pre><code class="language-cpp">SOCKET sckClient = accept(sckSocket, 0, 0);
  while (1) {
    /* Zum Ausgrenzen um die Anzahl und schnelligkeit der Durchläufe zu sehen */
    printf (&quot;----\n&quot;);

    if (sckClient != INVALID_SOCKET) {
      /* Nur 1 Strich und kein 'hier müsste was kommen' Also bleibts bei Accept stehen. */

      if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) {
        printf  (&quot;%s\n&quot;,Request);

        /* Auf Request antworten. */
        char test[] = &quot;hallo zurück&quot;;
        send (sckSocket, test, 12, 0);
      }
    }
  }

  closesocket (sckSocket);     
}
</code></pre>
<p>Wenn der Client jetzt aber die Verbindung schließt,kommen mehrere Zeilen -----.<br />
Wie behebe ich den das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331829</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 20:11:19 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 20:41:27 GMT]]></title><description><![CDATA[<p>Wenn du den clienten schließt ist sckClient == INVALID_SOCKET, daher wird dieser if-Block mit der Bedingung : sckClient != INVALID_SOCKET übersprungen und die Schleife wird jedes mal einfach aufs neue ausgeführt ohne auf eine Nachricht zu warten.<br />
Willst dudas verhindern, darfst du die Striche nur ausgeben lassen wenn sckClient ebenfalls != INVALLID_SOCKET ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331837</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 24 Jul 2007 20:41:27 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 21:23:26 GMT]]></title><description><![CDATA[<p>Habe des Problem mit den Strichen leider nicht beheben können.<br />
Aber jetzt kommt schon wieder ein neuer Fehler.<br />
Ich sende:<br />
-Test1<br />
-Test2<br />
-h<br />
-Test3<br />
-A<br />
-Lol</p>
<p>Was aber dabei rauskommt ist das:<br />
-Test1<br />
-Test2<br />
-hest2<br />
-Test3<br />
-Aest3<br />
-Lolt3</p>
<p>Hier der Screen:<br />
<a href="http://img514.imageshack.us/img514/690/lolfd3.jpg" rel="nofollow">http://img514.imageshack.us/img514/690/lolfd3.jpg</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331872</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 21:23:26 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 21:31:48 GMT]]></title><description><![CDATA[<p><a href="http://www.geeky.de/dev/tnt/winapi/Winsock%20und%20recv.pdf" rel="nofollow">http://www.geeky.de/dev/tnt/winapi/Winsock und recv.pdf</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331874</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Tue, 24 Jul 2007 21:31:48 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 21:33:45 GMT]]></title><description><![CDATA[<p>Initialisiere &quot;Request&quot; mit 0 vor Aufruf von recv ().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331875</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Jul 2007 21:33:45 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 21:38:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if (sckClient != INVALID_SOCKET) 
{
    printf (&quot;----\n&quot;);
}
</code></pre>
<p>Das Problem mit der Ausgabe muss nicht unbedingt am Server liegen, sondern vielleicht auch am Clienten.<br />
Wenn merkers Tipp das Problem nicht löst wird der wohl auch sein.</p>
<p>Du verwendest dort für die verschiedenen Nachrichten doch sicherlich den selben string oder?</p>
<p>Wie befüllstdu den denn?</p>
<p>Versuche mal den string erst komplett zu leeren bevor du die neue Botschaft reinschreibst oder setze manuell ein '\0' an das Ende deiner gewünschten Nachricht.</p>
<p>Rein zum testen könntest du auch mal versuchen für das verschicken der verschiedenen Nachrichten verschiedene strings zu verwenden, sollte dieser Fehler dann immer noch auftauchen weißt du zu mindest dass es doch nciht am Clienten liegt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> (oder nicht liegen muss).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331876</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Tue, 24 Jul 2007 21:38:15 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 21:50:45 GMT]]></title><description><![CDATA[<p>Die Sache is die der Client is in VB6.<br />
<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>Glaube eigentlich nicht das es am Client liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331886</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 21:50:45 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 22:07:22 GMT]]></title><description><![CDATA[<p>Liegt auch nicht am Clienten.<br />
Wenn der Server zum zweiten Mal recv () aufruft, enthält der Empfangspuffer &quot;Request&quot; immer noch die Daten vom ersten Aufruf.<br />
Je nach empfangener Datenlänge wird der &quot;Rest&quot; immer mit angezeigt.</p>
<p>Deshalb mit 0 initialisieren :</p>
<p>&quot;memset (Request,0,sizeof(Request));&quot; vor &quot;recv ()&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331895</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 24 Jul 2007 22:07:22 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Tue, 24 Jul 2007 22:11:27 GMT]]></title><description><![CDATA[<p>Danke merker.<br />
Denn Befehl memset kannte ich gar nicht.<br />
xD<br />
So jetzt muss ich des nur noch mit den Strichen lösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331900</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Tue, 24 Jul 2007 22:11:27 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Wed, 25 Jul 2007 00:47:09 GMT]]></title><description><![CDATA[<p>So noch eine Letzte Frage.<br />
Wie kann ich es einstellen das wenn die Verbindung getrennt wurde das sich der Server.exe beendet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331938</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Wed, 25 Jul 2007 00:47:09 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Wed, 25 Jul 2007 02:08:47 GMT]]></title><description><![CDATA[<p>Wenn sckClient den Wert INVALID_SOCKET enthält, springstdu halt aus deiner schleife.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331944</guid><dc:creator><![CDATA[Kahino]]></dc:creator><pubDate>Wed, 25 Jul 2007 02:08:47 GMT</pubDate></item><item><title><![CDATA[Reply to [Winsock] Hilfe bei Chat Server on Thu, 26 Jul 2007 12:58:47 GMT]]></title><description><![CDATA[<p>Also muss ich des mit ner If-Abfrage machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333034</guid><dc:creator><![CDATA[CHB]]></dc:creator><pubDate>Thu, 26 Jul 2007 12:58:47 GMT</pubDate></item></channel></rss>