<?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 Winsock]]></title><description><![CDATA[<p>Hallo, ich habe folgendes Problem. Ich habe einen Server, bei dem sich sonst wunderbar POSTs durchführen lassen mit folgender Funktion:</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt;
#include &lt;windows.h&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;

string PostData(string data)
{
	char* host;
	string  send_buf, retstring;
	char  recv_buf[2056];
	long  rc;
	  SOCKET s;
	  SOCKADDR_IN addr;
	WSADATA wsa;
	HOSTENT* hent;

	WSAStartup(MAKEWORD(2,0),&amp;wsa);
	addr.sin_family=AF_INET;
	addr.sin_port=htons(80);
	host = &quot;www.ogame272.de&quot;;

	if((addr.sin_addr.s_addr=inet_addr(host))==INADDR_NONE)
	{
		hent=gethostbyname(host);
		strncpy((char*)&amp;addr.sin_addr.s_addr,hent-&gt;h_addr,4);
	}
	int zahl=0;

	s=socket(AF_INET,SOCK_STREAM,0);
	connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));

	send(s,data.c_str(),strlen(data.c_str()),0);

	while((rc=recv(s,recv_buf,1,0))&gt;0)
	{
		recv_buf[rc]='\0';
		retstring += recv_buf; 
	}	

	closesocket(s); //verbindung kappen

	Sleep(50);
	return retstring;
}
</code></pre>
<p>Nicht schön, aber funktioniert. Ich kann also jetzt einfach einen String übergeben, der den gesamten POST Befehl erhält, inklusive Daten und Header. Das geht auch wunderbar, aber jetzt kommt plötzlich eine Stelle, wo der Server anscheinend statt &quot;Connection: close&quot; ein &quot;Connection: Keep-Alive&quot; verlangt. Hierbei geht das nicht mehr, er sendet keinen Content zurück, nur noch den Header:</p>
<pre><code>HTTP/1.1 200 OK
Date: Mon, 10 Oct 2005 19:24:47 GMT
Server: Apache/2.0.54 (Unix) PHP/4.4.0
X-Powered-By: PHP/4.4.0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 2
Connection: close
Content-Type: text/html
</code></pre>
<p>Die zwei Zeichen content sind einfach \n\n.<br />
**<br />
Nun hab ich mir gedacht, dass dieses Keep-Alive vielleicht heisst, dass nach diesem Header noch weitere Daten kommen, aber die recv() Funktion einfach nach den ersten Daten, also dem HTTP-Response-Header, abbricht.**</p>
<p>Gibt es einen Weg an die Daten die da noch folgen heran zu kommen? Irgendeine Funktion die das macht?</p>
<p>Ps: Der Post ist korrekt, 1:1 vom IE übernommen, auch mit FF probiert.</p>
<p>Danke für Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/122867/problem-mit-winsock</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Jul 2026 23:55:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/122867.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Oct 2005 20:43:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Winsock on Mon, 10 Oct 2005 20:43:14 GMT]]></title><description><![CDATA[<p>Hallo, ich habe folgendes Problem. Ich habe einen Server, bei dem sich sonst wunderbar POSTs durchführen lassen mit folgender Funktion:</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt;
#include &lt;windows.h&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;

string PostData(string data)
{
	char* host;
	string  send_buf, retstring;
	char  recv_buf[2056];
	long  rc;
	  SOCKET s;
	  SOCKADDR_IN addr;
	WSADATA wsa;
	HOSTENT* hent;

	WSAStartup(MAKEWORD(2,0),&amp;wsa);
	addr.sin_family=AF_INET;
	addr.sin_port=htons(80);
	host = &quot;www.ogame272.de&quot;;

	if((addr.sin_addr.s_addr=inet_addr(host))==INADDR_NONE)
	{
		hent=gethostbyname(host);
		strncpy((char*)&amp;addr.sin_addr.s_addr,hent-&gt;h_addr,4);
	}
	int zahl=0;

	s=socket(AF_INET,SOCK_STREAM,0);
	connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));

	send(s,data.c_str(),strlen(data.c_str()),0);

	while((rc=recv(s,recv_buf,1,0))&gt;0)
	{
		recv_buf[rc]='\0';
		retstring += recv_buf; 
	}	

	closesocket(s); //verbindung kappen

	Sleep(50);
	return retstring;
}
</code></pre>
<p>Nicht schön, aber funktioniert. Ich kann also jetzt einfach einen String übergeben, der den gesamten POST Befehl erhält, inklusive Daten und Header. Das geht auch wunderbar, aber jetzt kommt plötzlich eine Stelle, wo der Server anscheinend statt &quot;Connection: close&quot; ein &quot;Connection: Keep-Alive&quot; verlangt. Hierbei geht das nicht mehr, er sendet keinen Content zurück, nur noch den Header:</p>
<pre><code>HTTP/1.1 200 OK
Date: Mon, 10 Oct 2005 19:24:47 GMT
Server: Apache/2.0.54 (Unix) PHP/4.4.0
X-Powered-By: PHP/4.4.0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 2
Connection: close
Content-Type: text/html
</code></pre>
<p>Die zwei Zeichen content sind einfach \n\n.<br />
**<br />
Nun hab ich mir gedacht, dass dieses Keep-Alive vielleicht heisst, dass nach diesem Header noch weitere Daten kommen, aber die recv() Funktion einfach nach den ersten Daten, also dem HTTP-Response-Header, abbricht.**</p>
<p>Gibt es einen Weg an die Daten die da noch folgen heran zu kommen? Irgendeine Funktion die das macht?</p>
<p>Ps: Der Post ist korrekt, 1:1 vom IE übernommen, auch mit FF probiert.</p>
<p>Danke für Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889228</guid><dc:creator><![CDATA[MaxiManiac]]></dc:creator><pubDate>Mon, 10 Oct 2005 20:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Winsock on Mon, 10 Oct 2005 20:49:14 GMT]]></title><description><![CDATA[<p>zeig doch mal was du dem server schickst.</p>
<p>(scheint nichts mit winsock zu tun zu haben, sondern mit http)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889232</guid><dc:creator><![CDATA[http]]></dc:creator><pubDate>Mon, 10 Oct 2005 20:49:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Winsock on Mon, 10 Oct 2005 21:35:20 GMT]]></title><description><![CDATA[<p>POST <a href="http://xxxxxx.de/xxxx/xxxxx.php?session=xxxxxx" rel="nofollow">http://xxxxxx.de/xxxx/xxxxx.php?session=xxxxxx</a> HTTP/1.1<br />
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shock<br />
wave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, <em>/</em><br />
Referer: <a href="http://xxxxx.de/xxxx/xxxx3.php?session=xxxxx" rel="nofollow">http://xxxxx.de/xxxx/xxxx3.php?session=xxxxx</a><br />
Accept-Language: de<br />
Content-type: application/x-www-form-urlencoded<br />
User-Agent: Statistikleser<br />
Host: <a href="http://xxxx.de" rel="nofollow">http://xxxx.de</a><br />
Content-length: 323<br />
Keep-Alive: 300<br />
Cache-Control: no-cache<br />
Cookie: PHPSESSID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; U_dexx:xxxxx=U_dexx%3ARxxxxx<br />
Connection: Keep-Alive</p>
<p>PHPSESSID=xxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;thisgalaxy=7&amp;thissystem=415&amp;thisplane<br />
t=11&amp;thisplanettype=1&amp;speedfactor=1&amp;thisresource1=100&amp;thisresource2=100&amp;thisreso<br />
urce2=101&amp;galaxy=7&amp;system=415&amp;planet=11&amp;planettype=1&amp;ship210=10&amp;consumption210=1<br />
&amp;speed210=170000000&amp;capacity210=5&amp;speed=10&amp;order=1&amp;resource1=&amp;resource2=&amp;resourc<br />
e3=</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889253</guid><dc:creator><![CDATA[MaxiManiac]]></dc:creator><pubDate>Mon, 10 Oct 2005 21:35:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Winsock on Mon, 10 Oct 2005 22:53:04 GMT]]></title><description><![CDATA[<p>Die Daten sind aber zusammenhängend, da wurde jetzt nur ein Zeilenumbruch eingefügt, weil ich das aus der Konsole kopiert habe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889262</guid><dc:creator><![CDATA[nochmal ich]]></dc:creator><pubDate>Mon, 10 Oct 2005 22:53:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Winsock on Mon, 10 Oct 2005 23:16:08 GMT]]></title><description><![CDATA[<p>Wir werden dich ausfindig machen und bannen.</p>
<p>Sowas erlauben wir nicht.</p>
<blockquote>
<p>§3 Eingriffe in die Spieltechnik<br />
Maßnahmen, die übermäßigen Traffic verursachen oder dazu geeignet sind, den Spielablauf zu beeinträchtigen, sind zu unterlassen. Verboten sind insbesondere automatische oder halbautomatische Scripts, die Abfragen auf die Datenbank ausführen oder Spielmechanismen in Gang setzen. Ein Verstoß dagegen führt zum sofortigen Ausschluss aus dem Spiel. Ersatzforderungen in Höhe des verursachten Schaden zzgl. des daraus resultierenden Verwaltungsaufwandes behalten wir uns vor (siehe auch AGB).</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/889266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889266</guid><dc:creator><![CDATA[JimPanse]]></dc:creator><pubDate>Mon, 10 Oct 2005 23:16:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Winsock on Sun, 16 Oct 2005 21:34:44 GMT]]></title><description><![CDATA[<p>Mhhh mich würde das aber auch interessieren, hab den thread hier über die SuFu gefunden. Hab nix mit diesem Spiel am Hut, würd aber die Behandlung von Keep Alives trotzdem gerne wissen. Ich habe nämlich das selbe Problem, allerdings nicht bei einem online spiel oder so ein kinderkack.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/893771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/893771</guid><dc:creator><![CDATA[nichtDerAndere]]></dc:creator><pubDate>Sun, 16 Oct 2005 21:34:44 GMT</pubDate></item></channel></rss>