<?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 bei Server - Client Verbindung beim Senden]]></title><description><![CDATA[<p>Hi,<br />
Verbindung herstellen etc. funktioniert alles, aber beim senden bzw. empfangen kommt immer nur die Anzahl der Zeichen die gesendet bzw. empfangen werden, also in dem Fall 256 und nicht der Text, der gesendet werden sollte:</p>
<p>Client</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
#include &lt;windows.h&gt;
#include &lt;winsock2.h&gt;
#include &lt;vcl.h&gt;
#pragma hdrstop
#include &lt;iostream.h&gt;
#pragma argsused

//Prototypen

int startWinsock(void);

int main()

{

  long rc;
  SOCKET s;
  SOCKADDR_IN addr;

  char buf[257];                       // Anzahl Zeichen, die gesendet werden
  char conIP[15] = &quot;10.17.126.4&quot;;        // Ziel-IP Adresse
  int conPort = 54321;                   // Verwendeter Port

  memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzen
  addr.sin_family=AF_INET;
  addr.sin_port=htons(conPort);        // htons() = Konvertierung für Netzwerk
  addr.sin_addr.s_addr=inet_addr(conIP);

  rc=startWinsock();

  if(rc!=0)
  {
    cout &lt;&lt; &quot;Fehler: startWinsock, Fehlercode: &quot; &lt;&lt; rc &lt;&lt; &quot;\n&quot;;
    return 1;
  }
  else
  {
    cout &lt;&lt; &quot;Winsock gestartet!\n&quot;;
  }

  s=socket(AF_INET,SOCK_STREAM,0);

  if(s==INVALID_SOCKET)
  {
    cout &lt;&lt; &quot;Fehler: Der Socket konnte nicht erstellt werden, Fehlercode: &quot; &lt;&lt; WSAGetLastError() &lt;&lt; &quot;\n&quot;;
    return 1;
  }
  else
  {
    cout &lt;&lt; &quot;Socket erstellt!\n&quot;;
  }

  rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));

  if(rc==SOCKET_ERROR)
  {
    cout &lt;&lt; &quot;Fehler: konnte nicht verbunden werden, Fehlercode: &quot; &lt;&lt; WSAGetLastError() &lt;&lt; &quot;\n&quot;;
  }
  else
  {
    cout &lt;&lt; &quot;Verbunden mit &quot; &lt;&lt; conIP &lt;&lt; &quot;\n&quot;;
    // strcpy(buf,&quot;Hallo wie gehts?&quot;);

    while (rc != SOCKET_ERROR)
    {
      cin &gt;&gt; buf;
      send(s,buf,256,NULL);

      rc = recv(s,buf,256,NULL);
      cout &lt;&lt; rc &lt;&lt; &quot;\n&quot;;
    }
  }

  getchar();
  return 0;
}

int startWinsock(void)
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
<p>Server:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;windows.h&gt;
#include &lt;winsock.h&gt;
#include &lt;vcl.h&gt;
#pragma hdrstop
#include &lt;iostream.h&gt;
#pragma argsused

//Prototypen

int startWinsock(void);

int main()

{
  long rc;
  SOCKET acceptSocket;
  SOCKET connectedSocket;
  SOCKADDR_IN addr;

  char buf[256];                        // Nachricht zum Versenden
  int conPort = 54321;                  // Port

  memset(&amp;addr,0,sizeof(SOCKADDR_IN));
  addr.sin_family=AF_INET;
  addr.sin_port=htons(conPort);
  addr.sin_addr.s_addr=INADDR_ANY;

  rc=startWinsock();

  if(rc!=0)
  {
    printf(&quot;Fehler: startWinsock, fehler code: %d\n&quot;,rc);
    return 1;
  }
  else
  {
    printf(&quot;Winsock gestartet!\n&quot;);
  }

  acceptSocket=socket(AF_INET,SOCK_STREAM,0);

  if(acceptSocket==INVALID_SOCKET)
  {
    printf(&quot;Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Socket erstellt!\n&quot;);
  }

  rc=bind(acceptSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR_IN));

  if(rc==SOCKET_ERROR)
  {
    printf(&quot;Fehler: bind, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    cout &lt;&lt; &quot;Socket an Port &quot; &lt;&lt; conPort &lt;&lt; &quot; gebunden\n&quot;;
  }

  rc=listen(acceptSocket,10);

  if(rc==SOCKET_ERROR)
  {
    printf(&quot;Fehler: listen, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;acceptSocket ist im listen Modus....\n&quot;);
  }

  connectedSocket=accept(acceptSocket,NULL,NULL);

  if(connectedSocket==INVALID_SOCKET)
  {
    printf(&quot;Fehler: accept, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Neue Verbindung wurde akzeptiert!\n&quot;);
  }
  while (rc != SOCKET_ERROR)
  {
    rc=recv(connectedSocket,buf,256,NULL);
    cout &lt;&lt; rc &lt;&lt; &quot;\n&quot;;

    cin &gt;&gt; buf;
    send(connectedSocket,buf,256,NULL);
  }

  getchar();
  return 0;
}

int startWinsock(void)

{

  WSADATA wsa;

  return WSAStartup(MAKEWORD(2,0),&amp;wsa);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/143072/problem-bei-server-client-verbindung-beim-senden</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 01:40:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/143072.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Apr 2006 11:52:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Server - Client Verbindung beim Senden on Wed, 05 Apr 2006 11:52:44 GMT]]></title><description><![CDATA[<p>Hi,<br />
Verbindung herstellen etc. funktioniert alles, aber beim senden bzw. empfangen kommt immer nur die Anzahl der Zeichen die gesendet bzw. empfangen werden, also in dem Fall 256 und nicht der Text, der gesendet werden sollte:</p>
<p>Client</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
#include &lt;windows.h&gt;
#include &lt;winsock2.h&gt;
#include &lt;vcl.h&gt;
#pragma hdrstop
#include &lt;iostream.h&gt;
#pragma argsused

//Prototypen

int startWinsock(void);

int main()

{

  long rc;
  SOCKET s;
  SOCKADDR_IN addr;

  char buf[257];                       // Anzahl Zeichen, die gesendet werden
  char conIP[15] = &quot;10.17.126.4&quot;;        // Ziel-IP Adresse
  int conPort = 54321;                   // Verwendeter Port

  memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzen
  addr.sin_family=AF_INET;
  addr.sin_port=htons(conPort);        // htons() = Konvertierung für Netzwerk
  addr.sin_addr.s_addr=inet_addr(conIP);

  rc=startWinsock();

  if(rc!=0)
  {
    cout &lt;&lt; &quot;Fehler: startWinsock, Fehlercode: &quot; &lt;&lt; rc &lt;&lt; &quot;\n&quot;;
    return 1;
  }
  else
  {
    cout &lt;&lt; &quot;Winsock gestartet!\n&quot;;
  }

  s=socket(AF_INET,SOCK_STREAM,0);

  if(s==INVALID_SOCKET)
  {
    cout &lt;&lt; &quot;Fehler: Der Socket konnte nicht erstellt werden, Fehlercode: &quot; &lt;&lt; WSAGetLastError() &lt;&lt; &quot;\n&quot;;
    return 1;
  }
  else
  {
    cout &lt;&lt; &quot;Socket erstellt!\n&quot;;
  }

  rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));

  if(rc==SOCKET_ERROR)
  {
    cout &lt;&lt; &quot;Fehler: konnte nicht verbunden werden, Fehlercode: &quot; &lt;&lt; WSAGetLastError() &lt;&lt; &quot;\n&quot;;
  }
  else
  {
    cout &lt;&lt; &quot;Verbunden mit &quot; &lt;&lt; conIP &lt;&lt; &quot;\n&quot;;
    // strcpy(buf,&quot;Hallo wie gehts?&quot;);

    while (rc != SOCKET_ERROR)
    {
      cin &gt;&gt; buf;
      send(s,buf,256,NULL);

      rc = recv(s,buf,256,NULL);
      cout &lt;&lt; rc &lt;&lt; &quot;\n&quot;;
    }
  }

  getchar();
  return 0;
}

int startWinsock(void)
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
<p>Server:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;windows.h&gt;
#include &lt;winsock.h&gt;
#include &lt;vcl.h&gt;
#pragma hdrstop
#include &lt;iostream.h&gt;
#pragma argsused

//Prototypen

int startWinsock(void);

int main()

{
  long rc;
  SOCKET acceptSocket;
  SOCKET connectedSocket;
  SOCKADDR_IN addr;

  char buf[256];                        // Nachricht zum Versenden
  int conPort = 54321;                  // Port

  memset(&amp;addr,0,sizeof(SOCKADDR_IN));
  addr.sin_family=AF_INET;
  addr.sin_port=htons(conPort);
  addr.sin_addr.s_addr=INADDR_ANY;

  rc=startWinsock();

  if(rc!=0)
  {
    printf(&quot;Fehler: startWinsock, fehler code: %d\n&quot;,rc);
    return 1;
  }
  else
  {
    printf(&quot;Winsock gestartet!\n&quot;);
  }

  acceptSocket=socket(AF_INET,SOCK_STREAM,0);

  if(acceptSocket==INVALID_SOCKET)
  {
    printf(&quot;Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Socket erstellt!\n&quot;);
  }

  rc=bind(acceptSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR_IN));

  if(rc==SOCKET_ERROR)
  {
    printf(&quot;Fehler: bind, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    cout &lt;&lt; &quot;Socket an Port &quot; &lt;&lt; conPort &lt;&lt; &quot; gebunden\n&quot;;
  }

  rc=listen(acceptSocket,10);

  if(rc==SOCKET_ERROR)
  {
    printf(&quot;Fehler: listen, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;acceptSocket ist im listen Modus....\n&quot;);
  }

  connectedSocket=accept(acceptSocket,NULL,NULL);

  if(connectedSocket==INVALID_SOCKET)
  {
    printf(&quot;Fehler: accept, fehler code: %d\n&quot;,WSAGetLastError());
    return 1;
  }
  else
  {
    printf(&quot;Neue Verbindung wurde akzeptiert!\n&quot;);
  }
  while (rc != SOCKET_ERROR)
  {
    rc=recv(connectedSocket,buf,256,NULL);
    cout &lt;&lt; rc &lt;&lt; &quot;\n&quot;;

    cin &gt;&gt; buf;
    send(connectedSocket,buf,256,NULL);
  }

  getchar();
  return 0;
}

int startWinsock(void)

{

  WSADATA wsa;

  return WSAStartup(MAKEWORD(2,0),&amp;wsa);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1030967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1030967</guid><dc:creator><![CDATA[Abrow]]></dc:creator><pubDate>Wed, 05 Apr 2006 11:52:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Server - Client Verbindung beim Senden on Wed, 05 Apr 2006 11:56:33 GMT]]></title><description><![CDATA[<p>Du übergibst auch immer 256 an send und nicht die Anzahl Zeichen die gesendet werden sollen <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/1030971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1030971</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 05 Apr 2006 11:56:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Server - Client Verbindung beim Senden on Wed, 05 Apr 2006 12:37:30 GMT]]></title><description><![CDATA[<p>hat nichts mit standart c++ zu tun.<br />
leute, ist das mit den unterforen so schwer?...</p>
<p>sowas gehört ins winapi forum</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031018</guid><dc:creator><![CDATA[gadsa]]></dc:creator><pubDate>Wed, 05 Apr 2006 12:37:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Server - Client Verbindung beim Senden on Wed, 05 Apr 2006 13:29:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">rc=recv(connectedSocket,buf,256,NULL); 
    cout &lt;&lt; rc &lt;&lt; &quot;\n&quot;;
</code></pre>
<p>Du schreibst damit nur die Anzahl der empfangenen Zeichen in die Console.<br />
Es müsste heissen :</p>
<pre><code class="language-cpp">rc=recv(connectedSocket,buf,256,NULL); 
    cout &lt;&lt; buf &lt;&lt; &quot;\n&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1031097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031097</guid><dc:creator><![CDATA[SciFi|work]]></dc:creator><pubDate>Wed, 05 Apr 2006 13:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Server - Client Verbindung beim Senden on Wed, 05 Apr 2006 19:39:44 GMT]]></title><description><![CDATA[<p>ach so, jetzt versteh ichs, ist eigentlich logisch</p>
<p>wegen den unterforen: sorry, ich finds echt ein bisschen kompliziert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031396</guid><dc:creator><![CDATA[Abrow]]></dc:creator><pubDate>Wed, 05 Apr 2006 19:39:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Server - Client Verbindung beim Senden on Wed, 05 Apr 2006 21:01:15 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=403" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1031439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1031439</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 05 Apr 2006 21:01:15 GMT</pubDate></item></channel></rss>