<?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[Fehler mit Sockets]]></title><description><![CDATA[<p>Ich habe einen Server Programmiert und einen Client in VB ich schaffe es das sich der Client mim Server verbindet.Ich schaffe es auch &quot;Wörter&quot; zu senden.<br />
Leider werden diese Wörter erst ausgegeben wenn ich die Verbindun trenne.<br />
Dann versuche ich das gesendete Wort zu Überprüfen (Wort = Test)<br />
dies geht leider auch nicht.<br />
Ich hoffe jemand kann mir helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/177220/fehler-mit-sockets</link><generator>RSS for Node</generator><lastBuildDate>Thu, 25 Jun 2026 06:28:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/177220.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Mar 2007 10:49:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler mit Sockets on Thu, 29 Mar 2007 10:49:58 GMT]]></title><description><![CDATA[<p>Ich habe einen Server Programmiert und einen Client in VB ich schaffe es das sich der Client mim Server verbindet.Ich schaffe es auch &quot;Wörter&quot; zu senden.<br />
Leider werden diese Wörter erst ausgegeben wenn ich die Verbindun trenne.<br />
Dann versuche ich das gesendete Wort zu Überprüfen (Wort = Test)<br />
dies geht leider auch nicht.<br />
Ich hoffe jemand kann mir helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255218</guid><dc:creator><![CDATA[Aha]]></dc:creator><pubDate>Thu, 29 Mar 2007 10:49:58 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockets on Thu, 29 Mar 2007 13:19:53 GMT]]></title><description><![CDATA[<p>Nö. Zu ungenaue Problembeschreibung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255333</guid><dc:creator><![CDATA[keksekekse]]></dc:creator><pubDate>Thu, 29 Mar 2007 13:19:53 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockets on Thu, 29 Mar 2007 15:13:55 GMT]]></title><description><![CDATA[<p>Ich kenn mich in VB nicht so aus. Aber ich denk ma das die wörter in nem buffer gespeichert sind falls es so einen gibt.</p>
<p>MFG Pacino</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255458</guid><dc:creator><![CDATA[Pacino90]]></dc:creator><pubDate>Thu, 29 Mar 2007 15:13:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockets on Thu, 29 Mar 2007 21:19:17 GMT]]></title><description><![CDATA[<p>keksekekse schrieb:</p>
<blockquote>
<p>Nö. Zu ungenaue Problembeschreibung.</p>
</blockquote>
<p>ironie<br />
meine kristallkugel sagt mir .... ..... ..... .....<br />
.... ..... Peep Peep Peep kein Quellcode in dieser Frage ... ... ...</p>
<p>/ironie</p>
<p>mal was konkreteres, mustmaßungen helfen dir sicher genausowenig wie deine fragestellung uns</p>
<p>also bitte Quelltexte (sinnvolle ausschnitte) oder eine möglichst exakte beschreibung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255652</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Thu, 29 Mar 2007 21:19:17 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockets on Sat, 31 Mar 2007 10:53:54 GMT]]></title><description><![CDATA[<p>Des ist mein Code:</p>
<pre><code>#include &lt;winsock2.h&gt;
#include &lt;iostream&gt;
using namespace std;

int main (int argc, char* argv[]) {
  WSADATA wdData;
  if (WSAStartup(MAKEWORD(2, 0), &amp;wdData) == INVALID_SOCKET) {
    cout &lt;&lt; &quot;Konnte WinSock nicht initialisieren!&quot; &lt;&lt; endl;
    system (&quot;PAUSE&quot;);
    return 256;                   
  } else {
    cout &lt;&lt; &quot;WinSock initialisiert!&quot; &lt;&lt; endl;
  }

  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(80); // bind to port 80
  addrServer.sin_family = AF_INET;

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

  if (bind(sckSocket, (SOCKADDR *) &amp;addrServer, sizeof(addrServer)) == SOCKET_ERROR) {
    cout &lt;&lt; &quot;Konnte nicht an Port binden!&quot; &lt;&lt; endl;
    system (&quot;PAUSE&quot;);
    return 254;
  } else {
    cout &lt;&lt; &quot;An Port gebunden!&quot; &lt;&lt; endl;   
  }

  if (listen(sckSocket, 4) == SOCKET_ERROR) {
    cout &lt;&lt; &quot;Socket kann nicht hören!&quot; &lt;&lt; endl;
    system (&quot;PAUSE&quot;);
    return 253;
  } else {
    cout &lt;&lt; &quot;Socket hört!&quot; &lt;&lt; endl;       
  }

  while (true) {
    /* Zum Ausgrenzen um die Anzahl und schnelligkeit der Durchläufe zu sehen */
    cout &lt;&lt; &quot;---&quot; &lt;&lt; endl;

    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. */
      cout &lt;&lt; &quot;hier müsste was kommen!&quot; &lt;&lt; endl;

      if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) {
        cout &lt;&lt; Request &lt;&lt; endl;

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

  closesocket (sckSocket);
  system (&quot;PAUSE&quot;);
  return 0;
}
</code></pre>
<p>Aba erst wenn ich die Verbindung trenne dann wird erst ausgegeben was der Client Geschickt hat.<br />
Und dies kann ich dann leider nicht mit einer If-Anweisung Überprüfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256519</guid><dc:creator><![CDATA[Aha]]></dc:creator><pubDate>Sat, 31 Mar 2007 10:53:54 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockets on Sat, 31 Mar 2007 11:05:42 GMT]]></title><description><![CDATA[<p>dein fehler liegt unter anderem HIER</p>
<pre><code class="language-cpp">if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) {
        cout &lt;&lt; Request &lt;&lt; endl;

        /* Auf Request antworten. */
        char test[] = &quot;hallo zurück&quot;;
        send (sckSocket, test, 12, 0);
      }
</code></pre>
<p>nach deinem accept rennst du in das recv, das blockiert bis etwas angekommen ist, danach wird der socket NIE WIEDER gelesen .... irgendwie iss das komisch bei dir .... dein client code wäre auch interessant, weil so sieht das bis auf n konzeptionelles problem so aus als müsste er sofort reagieren wenn ein client sich verbindet</p>
<p>[EDIT] liess dir bitte die hilfe zu select() durch, das sollte dir in deinem problem helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256525</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Sat, 31 Mar 2007 11:05:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockets on Sat, 31 Mar 2007 11:23:19 GMT]]></title><description><![CDATA[<p>Wenn de denn Code vom meinem Client willst der ist in VB geschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256534</guid><dc:creator><![CDATA[Aha]]></dc:creator><pubDate>Sat, 31 Mar 2007 11:23:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockets on Sat, 31 Mar 2007 12:01:43 GMT]]></title><description><![CDATA[<p>ach verdammt stimmt ja .... nja sry da kannsch so auf die schnell nich helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256545</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Sat, 31 Mar 2007 12:01:43 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockets on Sat, 31 Mar 2007 19:13:11 GMT]]></title><description><![CDATA[<p>Wie kann ich den folgende Zeile ändern?<br />
Weiß net was ich da abändern soll:</p>
<pre><code>if (recv(sckClient, Request, sizeof(Request), 0) &gt; 0) {
        cout &lt;&lt; Request &lt;&lt; endl;

        /* Auf Request antworten. */
        char test[] = &quot;hallo zurück&quot;;
        send (sckSocket, test, 12, 0);
      }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1256808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256808</guid><dc:creator><![CDATA[Aha]]></dc:creator><pubDate>Sat, 31 Mar 2007 19:13:11 GMT</pubDate></item></channel></rss>