<?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 Winsocks]]></title><description><![CDATA[<p>Hallo ich kann an meinen Server immer nur 1 Befehl senden danach trennt der einfach immer die Verbindung:</p>
<p>Server</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt; //Required for socket init
#include &lt;iostream&gt;
using namespace std;

//server
int main()
{
SOCKET kSock;
SOCKET client;
int len;

char buf[256];
WSAData wsdata; //Declare WSAData
WORD wsver=MAKEWORD(2, 0); //We want Winsock 2.0
int nret=WSAStartup(wsver, &amp;wsdata); //Pass version 2.0 and pointer to implement

		if(nret != 0)
		{ //Init failed
		/*A successful return value should be 0 */
		std::cout&lt;&lt;&quot;Startup failed, error code: &quot;&lt;&lt;WSAGetLastError(); //Returns error code
		WSACleanup(); //Cleanup Winsock library
		return -1;
		}

std::cout&lt;&lt;&quot;Init success\n&quot;;
kSock=socket(AF_INET, SOCK_STREAM, 0);

		if(kSock == INVALID_SOCKET)
		{
		std::cout&lt;&lt;&quot;Socket init failed&quot;;
		return -1;
		}

std::cout&lt;&lt;&quot;Socket initialized\n&quot;;
sockaddr_in sin;
sin.sin_port=htons(12345);
sin.sin_addr.s_addr=INADDR_ANY;
sin.sin_family=AF_INET;

		if(bind(kSock,(sockaddr*)&amp;sin, sizeof(sin)) == SOCKET_ERROR)
		{
		std::cout&lt;&lt;&quot;Failed to bind\n&quot;;
		WSACleanup(); //Cleanup Winsock library
		return -1;
		}

std::cout&lt;&lt;&quot;Bind successful!\n&quot;;
while (listen(kSock, SOMAXCONN) == SOCKET_ERROR); //Loop in order to constantly listen
/* set the number of connections to SOMAXCONN, in which case the provider chooses a reasonable value (5 in Windows XP
Professional) */

  len = sizeof(sin);
  client=accept(kSock, (sockaddr*)&amp;sin, &amp;len);

  std::cout&lt;&lt;&quot;Connection established!\n&quot;;

  send(client, buf, sizeof(buf), 0); //Send &quot;Hello&quot;

  recv(kSock, buf, sizeof(buf), 0);
  std::cout &lt;&lt;&quot;Client Antwortet: &quot;&lt;&lt; buf;

  system(&quot;PAUSE&quot;);

closesocket(client); //Close both socket handles
closesocket(kSock);
WSACleanup();
return 0;
}
</code></pre>
<p>Client</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt; //Required for socket init
#include &lt;iostream&gt;
using namespace std;

//client
int main()

{
char buf[256];
int nret;

SOCKET kSock;

WSAData wsdata; //Declare WSAData
WORD wsver=MAKEWORD(2, 0); //We want Winsock 2.0

nret=WSAStartup(wsver, &amp;wsdata); //Pass version 2.0 and pointer to implement

		if(nret != 0)
		{ //Init failed
		/*A successful return value should be 0 */
		std::cout&lt;&lt;&quot;Startup failed, error code: &quot;&lt;&lt;WSAGetLastError(); //Returns error code
		WSACleanup(); //Cleanup Winsock library
		return -1;
		}

std::cout&lt;&lt;&quot;Init success\n&quot;;
	 kSock=socket(AF_INET, SOCK_STREAM, 0);

		if(kSock == INVALID_SOCKET)
		{
		std::cout&lt;&lt;&quot;Socket init failed&quot;;
		return -1;
		}

std::cout&lt;&lt;&quot;Socket initialized\n&quot;;

sockaddr_in sin;
sin.sin_port=htons(12345); //Connect to port 80
sin.sin_addr.s_addr=inet_addr(&quot;127.0.0.1&quot;); //Connect to localhost
sin.sin_family=AF_INET;

			if(connect(kSock,(sockaddr*)&amp;sin, sizeof(sin)) == SOCKET_ERROR)
			{ //Check the condition
			std::cout&lt;&lt;&quot;Connect failed, error: &quot;&lt;&lt;WSAGetLastError(); //Returns error code
			WSACleanup(); //Cleanup the library
			return -1;
			}

std::cout&lt;&lt;&quot;Connection successful!\n&quot;;
  cout&lt;&lt;&quot;Befehl eingeben: &quot;;
  cin&gt;&gt;buf;

  send(kSock, buf, sizeof(buf), 0);

recv(kSock, buf, sizeof(buf), 0); //Receive &quot;Hello&quot; from server
cout&lt;&lt;&quot;Connect ausgabe: &quot;&lt;&lt;connect;
std::cout &lt;&lt;&quot;Server Antwortet: &quot;&lt;&lt;buf;

system(&quot;PAUSE&quot;);

closesocket(kSock);
return 0;
}
</code></pre>
<p>Hat jemand eine Ahnung was da falsch ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/216900/problem-mit-winsocks</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 01:28:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/216900.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Jun 2008 12:57:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Winsocks on Mon, 30 Jun 2008 12:57:12 GMT]]></title><description><![CDATA[<p>Hallo ich kann an meinen Server immer nur 1 Befehl senden danach trennt der einfach immer die Verbindung:</p>
<p>Server</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt; //Required for socket init
#include &lt;iostream&gt;
using namespace std;

//server
int main()
{
SOCKET kSock;
SOCKET client;
int len;

char buf[256];
WSAData wsdata; //Declare WSAData
WORD wsver=MAKEWORD(2, 0); //We want Winsock 2.0
int nret=WSAStartup(wsver, &amp;wsdata); //Pass version 2.0 and pointer to implement

		if(nret != 0)
		{ //Init failed
		/*A successful return value should be 0 */
		std::cout&lt;&lt;&quot;Startup failed, error code: &quot;&lt;&lt;WSAGetLastError(); //Returns error code
		WSACleanup(); //Cleanup Winsock library
		return -1;
		}

std::cout&lt;&lt;&quot;Init success\n&quot;;
kSock=socket(AF_INET, SOCK_STREAM, 0);

		if(kSock == INVALID_SOCKET)
		{
		std::cout&lt;&lt;&quot;Socket init failed&quot;;
		return -1;
		}

std::cout&lt;&lt;&quot;Socket initialized\n&quot;;
sockaddr_in sin;
sin.sin_port=htons(12345);
sin.sin_addr.s_addr=INADDR_ANY;
sin.sin_family=AF_INET;

		if(bind(kSock,(sockaddr*)&amp;sin, sizeof(sin)) == SOCKET_ERROR)
		{
		std::cout&lt;&lt;&quot;Failed to bind\n&quot;;
		WSACleanup(); //Cleanup Winsock library
		return -1;
		}

std::cout&lt;&lt;&quot;Bind successful!\n&quot;;
while (listen(kSock, SOMAXCONN) == SOCKET_ERROR); //Loop in order to constantly listen
/* set the number of connections to SOMAXCONN, in which case the provider chooses a reasonable value (5 in Windows XP
Professional) */

  len = sizeof(sin);
  client=accept(kSock, (sockaddr*)&amp;sin, &amp;len);

  std::cout&lt;&lt;&quot;Connection established!\n&quot;;

  send(client, buf, sizeof(buf), 0); //Send &quot;Hello&quot;

  recv(kSock, buf, sizeof(buf), 0);
  std::cout &lt;&lt;&quot;Client Antwortet: &quot;&lt;&lt; buf;

  system(&quot;PAUSE&quot;);

closesocket(client); //Close both socket handles
closesocket(kSock);
WSACleanup();
return 0;
}
</code></pre>
<p>Client</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt; //Required for socket init
#include &lt;iostream&gt;
using namespace std;

//client
int main()

{
char buf[256];
int nret;

SOCKET kSock;

WSAData wsdata; //Declare WSAData
WORD wsver=MAKEWORD(2, 0); //We want Winsock 2.0

nret=WSAStartup(wsver, &amp;wsdata); //Pass version 2.0 and pointer to implement

		if(nret != 0)
		{ //Init failed
		/*A successful return value should be 0 */
		std::cout&lt;&lt;&quot;Startup failed, error code: &quot;&lt;&lt;WSAGetLastError(); //Returns error code
		WSACleanup(); //Cleanup Winsock library
		return -1;
		}

std::cout&lt;&lt;&quot;Init success\n&quot;;
	 kSock=socket(AF_INET, SOCK_STREAM, 0);

		if(kSock == INVALID_SOCKET)
		{
		std::cout&lt;&lt;&quot;Socket init failed&quot;;
		return -1;
		}

std::cout&lt;&lt;&quot;Socket initialized\n&quot;;

sockaddr_in sin;
sin.sin_port=htons(12345); //Connect to port 80
sin.sin_addr.s_addr=inet_addr(&quot;127.0.0.1&quot;); //Connect to localhost
sin.sin_family=AF_INET;

			if(connect(kSock,(sockaddr*)&amp;sin, sizeof(sin)) == SOCKET_ERROR)
			{ //Check the condition
			std::cout&lt;&lt;&quot;Connect failed, error: &quot;&lt;&lt;WSAGetLastError(); //Returns error code
			WSACleanup(); //Cleanup the library
			return -1;
			}

std::cout&lt;&lt;&quot;Connection successful!\n&quot;;
  cout&lt;&lt;&quot;Befehl eingeben: &quot;;
  cin&gt;&gt;buf;

  send(kSock, buf, sizeof(buf), 0);

recv(kSock, buf, sizeof(buf), 0); //Receive &quot;Hello&quot; from server
cout&lt;&lt;&quot;Connect ausgabe: &quot;&lt;&lt;connect;
std::cout &lt;&lt;&quot;Server Antwortet: &quot;&lt;&lt;buf;

system(&quot;PAUSE&quot;);

closesocket(kSock);
return 0;
}
</code></pre>
<p>Hat jemand eine Ahnung was da falsch ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538554</guid><dc:creator><![CDATA[winsock noob]]></dc:creator><pubDate>Mon, 30 Jun 2008 12:57:12 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Winsocks on Mon, 30 Jun 2008 13:05:09 GMT]]></title><description><![CDATA[<p>Ja Dein Server wartet auf eine Verbindung, sendet &quot;Hallo&quot; und empfängt einmal.<br />
Danach ist das Programm zu ende.<br />
Also musst Du in einer Schleife empfangen und erst beenden, wenn es gewünscht wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538559</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Mon, 30 Jun 2008 13:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Winsocks on Mon, 30 Jun 2008 13:06:20 GMT]]></title><description><![CDATA[<p>Sie arbeiten mit Visual Studio 2005/2008? Klasse!<br />
Testen Sie heute: Tastenkombination Strg + k + f!<br />
Wirkt wunder, auch bei Leuten die keinen blassen Schimmer von jeglicher Formatierung von Quellcode haben!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1538562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1538562</guid><dc:creator><![CDATA[was gesagt werden muss...]]></dc:creator><pubDate>Mon, 30 Jun 2008 13:06:20 GMT</pubDate></item></channel></rss>