<?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[datei senden]]></title><description><![CDATA[<p>hallo,<br />
ich habe ein Problem:<br />
ich versende folgendermaßen alle 10 sekunden eine datei:</p>
<pre><code class="language-cpp">ifstream file(szScreenName, ios::binary );
	file.seekg( 0, ios::end );
	unsigned length = file.tellg();
	file.seekg( 0, ios::beg );
	char *buffer = new char[length];
	file.read( &amp;buffer[0], length );
	// und ab damit
	if(send(s, (const char*)&amp;length, sizeof(length), 0) == SOCKET_ERROR)
	{
		MessageBox(0, TEXT(&quot;Konnte die Länge nicht senden!&quot;), szAppName, MB_ICONERROR);
		return 1;
	}
	if(send(s, &amp;buffer[0], length, 0) == SOCKET_ERROR)
	{
		MessageBox(0, TEXT(&quot;Konnte Datei nicht senden!&quot;), szAppName, MB_ICONERROR);
		return 1;
	}
	return 0;
</code></pre>
<p>der code wird alle 10 sekunden aufgerufen. Unter windows XP funktioniert das durchgängig. Unter Vista jedoch läuft das programm so 2 Minuten und dann kommen keine dateien mehr an (paar minuten jedoch schon)<br />
vielleicht braucht ihr noch das recv am server?</p>
<pre><code class="language-cpp">recv(connectedSocket, (char *)&amp;length, sizeof(length), 0); //länge
char *buffer = RecvData(connectedSocket, length); //screen

//hier die RecvData Funktion
char* RecvData( SOCKET s, unsigned bytes )
{
    unsigned bytes_read = 0;
	static char tempBuff[9000000];
	unsigned r;
    while ( bytes_read != bytes )
    {
        r = recv( s, tempBuff+bytes_read, bytes-bytes_read, 0 );

        // Grad keine Daten zum empfangen da?
        if ( r==-1 &amp;&amp; WSAGetLastError()==WSAEWOULDBLOCK )
            Sleep( 20 );
        // Fehler bzw Verbindung geschlossen?
        else if ( r &lt;= 0 )
            return false;
		else
            bytes_read += r;
    }
    return tempBuff;
}
</code></pre>
<p>also wie gesagt unter windows xp läuft das perfekt aber unter vista nur so halb^^ zielpc ist xp falls das wichtig ist<br />
Wäre super wenn mir wer helfen könnte!<br />
Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/223763/datei-senden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 02:00:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223763.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 30 Sep 2008 16:38:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to datei senden on Tue, 30 Sep 2008 16:38:15 GMT]]></title><description><![CDATA[<p>hallo,<br />
ich habe ein Problem:<br />
ich versende folgendermaßen alle 10 sekunden eine datei:</p>
<pre><code class="language-cpp">ifstream file(szScreenName, ios::binary );
	file.seekg( 0, ios::end );
	unsigned length = file.tellg();
	file.seekg( 0, ios::beg );
	char *buffer = new char[length];
	file.read( &amp;buffer[0], length );
	// und ab damit
	if(send(s, (const char*)&amp;length, sizeof(length), 0) == SOCKET_ERROR)
	{
		MessageBox(0, TEXT(&quot;Konnte die Länge nicht senden!&quot;), szAppName, MB_ICONERROR);
		return 1;
	}
	if(send(s, &amp;buffer[0], length, 0) == SOCKET_ERROR)
	{
		MessageBox(0, TEXT(&quot;Konnte Datei nicht senden!&quot;), szAppName, MB_ICONERROR);
		return 1;
	}
	return 0;
</code></pre>
<p>der code wird alle 10 sekunden aufgerufen. Unter windows XP funktioniert das durchgängig. Unter Vista jedoch läuft das programm so 2 Minuten und dann kommen keine dateien mehr an (paar minuten jedoch schon)<br />
vielleicht braucht ihr noch das recv am server?</p>
<pre><code class="language-cpp">recv(connectedSocket, (char *)&amp;length, sizeof(length), 0); //länge
char *buffer = RecvData(connectedSocket, length); //screen

//hier die RecvData Funktion
char* RecvData( SOCKET s, unsigned bytes )
{
    unsigned bytes_read = 0;
	static char tempBuff[9000000];
	unsigned r;
    while ( bytes_read != bytes )
    {
        r = recv( s, tempBuff+bytes_read, bytes-bytes_read, 0 );

        // Grad keine Daten zum empfangen da?
        if ( r==-1 &amp;&amp; WSAGetLastError()==WSAEWOULDBLOCK )
            Sleep( 20 );
        // Fehler bzw Verbindung geschlossen?
        else if ( r &lt;= 0 )
            return false;
		else
            bytes_read += r;
    }
    return tempBuff;
}
</code></pre>
<p>also wie gesagt unter windows xp läuft das perfekt aber unter vista nur so halb^^ zielpc ist xp falls das wichtig ist<br />
Wäre super wenn mir wer helfen könnte!<br />
Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1591044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1591044</guid><dc:creator><![CDATA[4091send]]></dc:creator><pubDate>Tue, 30 Sep 2008 16:38:15 GMT</pubDate></item><item><title><![CDATA[Reply to datei senden on Wed, 01 Oct 2008 11:18:30 GMT]]></title><description><![CDATA[<p>*extrem wichtigen thread push*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1591411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1591411</guid><dc:creator><![CDATA[4091send]]></dc:creator><pubDate>Wed, 01 Oct 2008 11:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to datei senden on Wed, 01 Oct 2008 11:29:32 GMT]]></title><description><![CDATA[<p>Die Pusherei nützt hier nichts, da ist ein Spambot, der Dich gleich wieder überpusht.</p>
<p>Übrigens sollte es reichen, wenn Du auf eine Antwort wartest. Wenn es jemand weiß, wird er sich schon melden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1591423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1591423</guid><dc:creator><![CDATA[Elektronix]]></dc:creator><pubDate>Wed, 01 Oct 2008 11:29:32 GMT</pubDate></item><item><title><![CDATA[Reply to datei senden on Wed, 01 Oct 2008 11:39:08 GMT]]></title><description><![CDATA[<p>ich sehe ein new[] aber kein delete[]...<br />
wahrscheinlich geht dir das memory aus oder sowas...<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1591433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1591433</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 01 Oct 2008 11:39:08 GMT</pubDate></item><item><title><![CDATA[Reply to datei senden on Wed, 01 Oct 2008 12:59:14 GMT]]></title><description><![CDATA[<p>hey danke für den Tipp!<br />
Das könnte natürlich sein, nur dann würde es unter xp ja auch nicht gehen oder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1591484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1591484</guid><dc:creator><![CDATA[4091send]]></dc:creator><pubDate>Wed, 01 Oct 2008 12:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to datei senden on Wed, 01 Oct 2008 14:00:39 GMT]]></title><description><![CDATA[<p>4091send schrieb:</p>
<blockquote>
<p>hey danke für den Tipp!<br />
Das könnte natürlich sein, nur dann würde es unter xp ja auch nicht gehen oder</p>
</blockquote>
<p>Aber Unterschiede im Verhalten könnten durchaus resultieren.<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1591509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1591509</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 01 Oct 2008 14:00:39 GMT</pubDate></item></channel></rss>