<?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[win sock client]]></title><description><![CDATA[<p>Hallo ich habe ja gestern von jemandem eine Source Code für den win sock client bekommen.</p>
<p>Jetzt hab ich den Source Code etwas verändert und ein paar sachen rausgemacht wie z.b. Daten Senden und so ich will halt erst mal nur das mit dem Verbinden alleine hin bekommen ....</p>
<p>Hier ist der Originale Source Code:</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt;
#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
using namespace std;

//Prototypen
int startWinsock(void);

int main() 
{ 
  long rc; 
  SOCKET s; 
  SOCKADDR_IN addr;
  char buf[256];
  char buf2[4096];
  string ip;
  ip=&quot;&quot;;

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

  // Socket erstellen 
  s=socket(AF_INET,SOCK_STREAM,0);
  if(s==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;); 
  } 
  printf(&quot;bitte geben sie die ip ein:\n&quot;); 
  cin&gt;&gt;ip; 
  // Verbinden 
  memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 
  addr.sin_family=AF_INET; 
  addr.sin_port=htons(12345); // wir verwenden mal port 12345 
  addr.sin_addr.s_addr=inet_addr(ip.c_str()); // zielrechner ist unser eigener 

  rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR)); 
  if(rc==SOCKET_ERROR) 
  { 
    printf(&quot;Fehler: connect gescheitert, fehler code: %d\n&quot;,WSAGetLastError()); 
    return 1; 
  } 
  else 
  { 
    printf(&quot;Verbunden mit 127.0.0.1..\n&quot;); 
  } 

for(int i=0;i&lt;=sizeof(buf)-5;i++){buf[i]='1';}
string temp;
  // Daten austauschen
  while(rc!=SOCKET_ERROR)
  {

    printf(&quot;\nZeichenfolge eingeben [max 256]: &quot;); 

    cin&gt;&gt;ip; 
    /*ip=replace(ip,&quot; \0&quot;,&quot; &quot;); 
    cout&lt;&lt;ip;*/ 

    //for(int i=0; i&lt;=20;i++){ 
    //temp=ip.substr(i,256); 
    int pos=ip.find(0x20); if(pos!=string::npos){ip[pos]='&amp;';} 
    cout&lt;&lt;pos&lt;&lt;&quot;:&quot;&lt;&lt;ip; 
    getch(); 
    send(s,ip.c_str(),20,0); 
    //send(s,buf,256,0); 
    //} 
    rc=recv(s,buf,256,0); 

    if(rc==0) 
    { 
      printf(&quot;Server hat die Verbindung getrennt..\n&quot;); 
      break; 
    } 
    if(rc==SOCKET_ERROR) 
    {
      printf(&quot;Fehler: recv, fehler code: %d\n&quot;,WSAGetLastError()); 
      break; 
    } 
    buf[rc]='\0'; 
    printf(&quot;\nServer antwortet: %s\n&quot;,buf); 
  } 
  closesocket(s); 
  WSACleanup(); 
  return 0; 
} 

int startWinsock(void) 
{ 
  WSADATA wsa; 
  return WSAStartup(MAKEWORD(2,0),&amp;wsa); 
}
</code></pre>
<p>Hier mein veränderter</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt;
#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
using namespace std;

//Prototypen
int startWinsock(void);

int main() 
{ 
  long rc; 
  SOCKET s; 
  SOCKADDR_IN addr;
  char buf[256];
  char buf2[4096];
  string ip;
  ip=&quot;&quot;;

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

  // Socket erstellen 
  s=socket(AF_INET,SOCK_STREAM,0);
  if(s==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;); 
  } 
  printf(&quot;bitte geben sie die ip ein:\n&quot;); 
  cin&gt;&gt;ip; 
  // Verbinden 
  memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 
  addr.sin_family=AF_INET; 
  addr.sin_port=htons(12345); // wir verwenden mal port 12345 
  addr.sin_addr.s_addr=inet_addr(ip.c_str()); // zielrechner ist unser eigener 

  rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR)); 
  if(rc==SOCKET_ERROR) 
  { 
    printf(&quot;Fehler: connect gescheitert, fehler code: %d\n&quot;,WSAGetLastError()); 
    return 1; 
  } 
  else 
  { 
    printf(&quot;Verbunden mit 127.0.0.1..\n&quot;); 
  } 

int startWinsock(void) 
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa); 
}
</code></pre>
<p>bei meinem veränderten bekomme ich aber diese Fehlermeldungen:</p>
<p>[C++ Fehler] Unit1.cpp(72): E2141 Fehler in der Deklarationssyntax<br />
[C++ Fehler] Unit1.cpp(79): E2139 In Deklaration fehlt ;<br />
[C++ Fehler] Unit1.cpp(79): E2134 Abschließendes } fehlt</p>
<p>aber ich find den Fehler nicht <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/topic/200827/win-sock-client</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 10:19:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200827.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 Dec 2007 09:29:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 09:29:31 GMT]]></title><description><![CDATA[<p>Hallo ich habe ja gestern von jemandem eine Source Code für den win sock client bekommen.</p>
<p>Jetzt hab ich den Source Code etwas verändert und ein paar sachen rausgemacht wie z.b. Daten Senden und so ich will halt erst mal nur das mit dem Verbinden alleine hin bekommen ....</p>
<p>Hier ist der Originale Source Code:</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt;
#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
using namespace std;

//Prototypen
int startWinsock(void);

int main() 
{ 
  long rc; 
  SOCKET s; 
  SOCKADDR_IN addr;
  char buf[256];
  char buf2[4096];
  string ip;
  ip=&quot;&quot;;

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

  // Socket erstellen 
  s=socket(AF_INET,SOCK_STREAM,0);
  if(s==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;); 
  } 
  printf(&quot;bitte geben sie die ip ein:\n&quot;); 
  cin&gt;&gt;ip; 
  // Verbinden 
  memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 
  addr.sin_family=AF_INET; 
  addr.sin_port=htons(12345); // wir verwenden mal port 12345 
  addr.sin_addr.s_addr=inet_addr(ip.c_str()); // zielrechner ist unser eigener 

  rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR)); 
  if(rc==SOCKET_ERROR) 
  { 
    printf(&quot;Fehler: connect gescheitert, fehler code: %d\n&quot;,WSAGetLastError()); 
    return 1; 
  } 
  else 
  { 
    printf(&quot;Verbunden mit 127.0.0.1..\n&quot;); 
  } 

for(int i=0;i&lt;=sizeof(buf)-5;i++){buf[i]='1';}
string temp;
  // Daten austauschen
  while(rc!=SOCKET_ERROR)
  {

    printf(&quot;\nZeichenfolge eingeben [max 256]: &quot;); 

    cin&gt;&gt;ip; 
    /*ip=replace(ip,&quot; \0&quot;,&quot; &quot;); 
    cout&lt;&lt;ip;*/ 

    //for(int i=0; i&lt;=20;i++){ 
    //temp=ip.substr(i,256); 
    int pos=ip.find(0x20); if(pos!=string::npos){ip[pos]='&amp;';} 
    cout&lt;&lt;pos&lt;&lt;&quot;:&quot;&lt;&lt;ip; 
    getch(); 
    send(s,ip.c_str(),20,0); 
    //send(s,buf,256,0); 
    //} 
    rc=recv(s,buf,256,0); 

    if(rc==0) 
    { 
      printf(&quot;Server hat die Verbindung getrennt..\n&quot;); 
      break; 
    } 
    if(rc==SOCKET_ERROR) 
    {
      printf(&quot;Fehler: recv, fehler code: %d\n&quot;,WSAGetLastError()); 
      break; 
    } 
    buf[rc]='\0'; 
    printf(&quot;\nServer antwortet: %s\n&quot;,buf); 
  } 
  closesocket(s); 
  WSACleanup(); 
  return 0; 
} 

int startWinsock(void) 
{ 
  WSADATA wsa; 
  return WSAStartup(MAKEWORD(2,0),&amp;wsa); 
}
</code></pre>
<p>Hier mein veränderter</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt;
#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
using namespace std;

//Prototypen
int startWinsock(void);

int main() 
{ 
  long rc; 
  SOCKET s; 
  SOCKADDR_IN addr;
  char buf[256];
  char buf2[4096];
  string ip;
  ip=&quot;&quot;;

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

  // Socket erstellen 
  s=socket(AF_INET,SOCK_STREAM,0);
  if(s==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;); 
  } 
  printf(&quot;bitte geben sie die ip ein:\n&quot;); 
  cin&gt;&gt;ip; 
  // Verbinden 
  memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 
  addr.sin_family=AF_INET; 
  addr.sin_port=htons(12345); // wir verwenden mal port 12345 
  addr.sin_addr.s_addr=inet_addr(ip.c_str()); // zielrechner ist unser eigener 

  rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR)); 
  if(rc==SOCKET_ERROR) 
  { 
    printf(&quot;Fehler: connect gescheitert, fehler code: %d\n&quot;,WSAGetLastError()); 
    return 1; 
  } 
  else 
  { 
    printf(&quot;Verbunden mit 127.0.0.1..\n&quot;); 
  } 

int startWinsock(void) 
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa); 
}
</code></pre>
<p>bei meinem veränderten bekomme ich aber diese Fehlermeldungen:</p>
<p>[C++ Fehler] Unit1.cpp(72): E2141 Fehler in der Deklarationssyntax<br />
[C++ Fehler] Unit1.cpp(79): E2139 In Deklaration fehlt ;<br />
[C++ Fehler] Unit1.cpp(79): E2134 Abschließendes } fehlt</p>
<p>aber ich find den Fehler nicht <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/1423616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423616</guid><dc:creator><![CDATA[liederwams]]></dc:creator><pubDate>Thu, 20 Dec 2007 09:29:31 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 09:36:21 GMT]]></title><description><![CDATA[<p>Dir müsste doch schon an der Einrückung auffallen, dass die abschließende geschweifte Klammer der main-Funktion fehlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423618</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 20 Dec 2007 09:36:21 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 09:41:37 GMT]]></title><description><![CDATA[<p>oh jo thx.</p>
<p>Ich muss mir mal angewöhnen genauer zu gucken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423621</guid><dc:creator><![CDATA[liederwams]]></dc:creator><pubDate>Thu, 20 Dec 2007 09:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 10:09:22 GMT]]></title><description><![CDATA[<p>Ganz am ende steht dort ja:</p>
<pre><code class="language-cpp">int startWinsock(void)
{
  WSADATA wsa;
  return WSAStartup(MAKEWORD(2,0),&amp;wsa); 
}
</code></pre>
<p>kann man das auch einfach so machen:</p>
<pre><code class="language-cpp">int startWinsock(void)
{
  WSADATA wsa;
  return 0;
}
</code></pre>
<p>weil funktionieren tut das Programm dann auch oder gibt es dann da irgendwelche nachteile?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423629</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 20 Dec 2007 10:09:22 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 10:19:12 GMT]]></title><description><![CDATA[<p>WSAStartup muss aufgerufen werden (bevor von der Windows Socket Funktionalität gebrauch gemacht wird).<br />
WSACleanup auch (wenn die Windows Socket Funktionalität nicht mehr benötigt wird.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423638</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Thu, 20 Dec 2007 10:19:12 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 10:21:53 GMT]]></title><description><![CDATA[<p>ah ok thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423639</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 20 Dec 2007 10:21:53 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 11:07:22 GMT]]></title><description><![CDATA[<p>Und was Grundlegendes, bitte kein C und C++ vermischen... <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>Ein Frohes Fest euch allen! :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423674</guid><dc:creator><![CDATA[Mitewohner]]></dc:creator><pubDate>Thu, 20 Dec 2007 11:07:22 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 13:00:33 GMT]]></title><description><![CDATA[<p>wofür sind diese beiden Zeilen:</p>
<p>rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));</p>
<p>memset(&amp;addr,0,sizeof(SOCKADDR_IN));</p>
<p>Bei der 2ten Zeile steht ja dahinter alles auf 0 setzen aber was ist damit gemeint <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/1423770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423770</guid><dc:creator><![CDATA[liederwams]]></dc:creator><pubDate>Thu, 20 Dec 2007 13:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 14:47:49 GMT]]></title><description><![CDATA[<p>Hat den keiner eine Antwort ? <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/1423881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423881</guid><dc:creator><![CDATA[liederwams]]></dc:creator><pubDate>Thu, 20 Dec 2007 14:47:49 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Thu, 20 Dec 2007 18:50:12 GMT]]></title><description><![CDATA[<p>Hi liederwams,</p>
<pre><code class="language-cpp">rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));
</code></pre>
<p>Mit dieser Zeile wird die Verbindung mit dem Socket hergestellt.<br />
<em>s</em> ist der Socket für die Verbindung.<br />
<em>(SOCKADDR</em>)&amp;addr* ist ein Zeiger auf die Socket-Struktur, die du zuvor per</p>
<pre><code class="language-cpp">addr.sin_family=AF_INET;
addr.sin_port=htons(12345);
addr.sin_addr.s_addr=inet_addr(ip.c_str());
</code></pre>
<p>gesetzt hast. Damit sind genug Informationen für die Socket-Verbindung vorhanden.<br />
<em>sizeof(SOCKADDR)</em> gibt lediglich die Größe der Struktur an.<br />
Weiterführende Infos zu connect() hier: <a href="http://msdn2.microsoft.com/en-us/library/ms737625.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms737625.aspx</a></p>
<pre><code class="language-cpp">memset(&amp;addr,0,sizeof(SOCKADDR_IN));
</code></pre>
<p>Die Funktion memset setzt einen gewissen Speicherbereich auf einen bestimmten Wert; in diesem Fall den Wert 0. Memset ist ein sehr effektiver Weg, ein Array oder in diesem Fall eine Struktur zu initialisieren.<br />
Ich denke, dass es hier nur den Sinn hat, keine unvorhergesehenen Werte in der addr-Struktur zu haben, die eventuell stören könnten.<br />
Wenn du mehr über memset wissen wills, kannst du dir das hier anschaun: <a href="http://www.cppreference.com/stdstring/memset.html" rel="nofollow">http://www.cppreference.com/stdstring/memset.html</a></p>
<p>Bin zwar kein Experte auf dem Socket-Gebiet, aber das ist halt was ich so weiß <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1424017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424017</guid><dc:creator><![CDATA[SeniiX]]></dc:creator><pubDate>Thu, 20 Dec 2007 18:50:12 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Fri, 21 Dec 2007 09:20:34 GMT]]></title><description><![CDATA[<p>ok thx :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424281</guid><dc:creator><![CDATA[liederwams]]></dc:creator><pubDate>Fri, 21 Dec 2007 09:20:34 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Fri, 21 Dec 2007 11:09:12 GMT]]></title><description><![CDATA[<p>Warum muss in Zeile ein s stehen also ich meine damit das addr.s</p>
<pre><code class="language-cpp">addr.sin_addr.s_addr=inet_addr(ip.c_str());
</code></pre>
<p>weil mein socket heisst ja A und nicht s</p>
<pre><code class="language-cpp">#include &lt;winsock2&gt;
#include &lt;iostream&gt;
using namespace std;

int WinSock(void);

int main()
{
long start;
SOCKET A;
SOCKADDR_IN addr;
string ip;
ip=&quot;&quot;;

// socker starten
start=WinSock();
        if(start!=0)
        {
        cout&lt;&lt;&quot;Fehler Socket konnte nicht gestartet werden.\n&quot;,start;
        getchar();
        return 1;
        }

        else
        {
        cout&lt;&lt;&quot;Socket wurde Erfolgreich gestartet\n&quot;;
        }

//socket erstellen
A=socket(AF_INET,SOCK_STREAM,0);

  if (A==INVALID_SOCKET)
  {
  cout&lt;&lt;&quot;Fehler Socket konnte nicht erstellt werden\n&quot;,WSAGetLastError();
  getchar();
  return 1;
  }

  else
  {
  cout&lt;&lt;&quot;Socket wurde Erfolgreich erstellt\n&quot;;

  }

// verbinden auf sever

cout&lt;&lt;&quot;Server IP eingeben: &quot;;
cin&gt;&gt;ip;

addr.sin_family=AF_INET;
addr.sin_port=htons(12345);
addr.sin_addr.s_addr=inet_addr(ip.c_str());

system(&quot;PAUSE&quot;);
return 0;
}
//---------------------------------------------------------------------------

int WinSock(void)
{
WSADATA wsa;
return WSAStartup(MAKEWORD(2,0),&amp;wsa);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1424336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424336</guid><dc:creator><![CDATA[liederwams]]></dc:creator><pubDate>Fri, 21 Dec 2007 11:09:12 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Fri, 21 Dec 2007 11:23:19 GMT]]></title><description><![CDATA[<p>Weil irgendwer der Meinung war, das struct-Element als &quot;sin_addr&quot; zu bezeichnen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1424341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424341</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 21 Dec 2007 11:23:19 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Fri, 21 Dec 2007 12:07:07 GMT]]></title><description><![CDATA[<p>ok thx ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424365</guid><dc:creator><![CDATA[liederwams]]></dc:creator><pubDate>Fri, 21 Dec 2007 12:07:07 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Fri, 21 Dec 2007 12:59:29 GMT]]></title><description><![CDATA[<p>So ich hab den Client mal etwas verändert.</p>
<p>Das man die IP eingeben kann das funktioniert ja schon jetzt möchte ich aber auch auf einen beliebigen Port connecten.</p>
<p>SO hab ich es versucht aber dann bekomme ich folgende Fehlermeldungen:</p>
<p>[C++ Fehler] Unit1.cpp(56): E2034 Konvertierung von 'const char *' nach 'unsigned short' nicht möglich<br />
[C++ Fehler] Unit1.cpp(56): E2342 Keine Übereinstimmung des Typs beim Parameter 'hostshort' ('unsigned short' erwartet, 'const char *' erhalten)</p>
<pre><code class="language-cpp">addr.sin_family=AF_INET;
addr.sin_port=htons(port.c_str());
addr.sin_addr.s_addr=inet_addr(ip.c_str());
</code></pre>
<pre><code class="language-cpp">#include &lt;winsock2&gt;
#include &lt;iostream&gt;
using namespace std;

int WinSocket(void);

int main()
{
long startSock;

SOCKADDR_IN addr;
string ip,port;
ip=&quot;&quot;;
port=&quot;&quot;;

SOCKET erstellterSocket;
//socket starten
startSock=WinSocket();

        if (startSock!=0)
        {
        cout&lt;&lt;&quot;Fehler\n&quot;,startSock;
        getchar();
        return 1;
        }

        else

        {
        cout&lt;&lt;&quot;socket gestartet\n&quot;;
        }

// socket erstellen
erstellterSocket=socket(AF_INET,SOCK_STREAM,0);
        if(erstellterSocket==INVALID_SOCKET)
        {
        cout&lt;&lt;&quot;Socket konnte nicht erstellt werden %d\n&quot;,WSAGetLastError;
        getchar();
        return 1;
        }

        else
        {
        cout&lt;&lt;&quot;socket erstellt\n&quot;;
        }

//verbinden zu server
cout&lt;&lt;&quot;IP Adresse eingeben: &quot;;
cin&gt;&gt;ip;

cout&lt;&lt;&quot;Port eingeben: &quot;;
cin&gt;&gt;port;

addr.sin_family=AF_INET;
addr.sin_port=htons(port.c_str());
addr.sin_addr.s_addr=inet_addr(ip.c_str());

startSock=connect (erstellterSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));

if (startSock==SOCKET_ERROR)
        {
        cout&lt;&lt;&quot;Kann nicht connecten\n&quot;,WSAGetLastError();
        system(&quot;PAUSE&quot;);
        return 1;
        }

        else
        {
        cout&lt;&lt;&quot;connectet\n&quot;;
        }

system(&quot;PAUSE&quot;);
return 0;
}

int WinSocket(void)
{
WSADATA wsa;
return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1424403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424403</guid><dc:creator><![CDATA[liederwams]]></dc:creator><pubDate>Fri, 21 Dec 2007 12:59:29 GMT</pubDate></item><item><title><![CDATA[Reply to win sock client on Fri, 21 Dec 2007 16:57:27 GMT]]></title><description><![CDATA[<p>Die Funktion htons erwartet einen unsigned short und keinen String als Übergabeparameter.<br />
<a href="http://msdn2.microsoft.com/en-us/library/ms738557.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms738557.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424537</guid><dc:creator><![CDATA[SeniiX]]></dc:creator><pubDate>Fri, 21 Dec 2007 16:57:27 GMT</pubDate></item></channel></rss>