<?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[CSocket::Send sendet nur einen null terminierten String - wie ändere ich das?]]></title><description><![CDATA[<p>Hallo!<br />
Ich benutze folgende abgeleitete Klasse:</p>
<p>class CWinsock : public CSocket</p>
<p>Somit benutze ich auch CSocket::Send um meine Daten zu verschicken. Nun möchte ich Dateien verschicken. Wenn ich sie beim Server rauslasse sind sie noch komplett. Jedoch wenn sie beim Client ankommen gehen die Daten nur bis zum ersten '\0' - ist nicht wirklich gut um Dateien zu verschicken <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="😉"
    /><br />
Wenn ich beim Server die Daten die ich verschicke wieder in eine Datei schreibe ist die Datei komplett =&gt; da liegt kein Fehler, die Länge der Daten die ich verschicke ist auch zu 100% richtig...beim Client gebe ich auch nicht an zu wenig empfangen zu dürfen, jedoch geht es trotzdem nur bis zum ersten NULL ... na subba</p>
<p>Wisst ihr wieso?</p>
<p>WinSOCKER <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/topic/60938/csocket-send-sendet-nur-einen-null-terminierten-string-wie-ändere-ich-das</link><generator>RSS for Node</generator><lastBuildDate>Wed, 03 Jun 2026 13:56:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/60938.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 10 Jan 2004 11:09:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Sat, 10 Jan 2004 11:09:12 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich benutze folgende abgeleitete Klasse:</p>
<p>class CWinsock : public CSocket</p>
<p>Somit benutze ich auch CSocket::Send um meine Daten zu verschicken. Nun möchte ich Dateien verschicken. Wenn ich sie beim Server rauslasse sind sie noch komplett. Jedoch wenn sie beim Client ankommen gehen die Daten nur bis zum ersten '\0' - ist nicht wirklich gut um Dateien zu verschicken <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="😉"
    /><br />
Wenn ich beim Server die Daten die ich verschicke wieder in eine Datei schreibe ist die Datei komplett =&gt; da liegt kein Fehler, die Länge der Daten die ich verschicke ist auch zu 100% richtig...beim Client gebe ich auch nicht an zu wenig empfangen zu dürfen, jedoch geht es trotzdem nur bis zum ersten NULL ... na subba</p>
<p>Wisst ihr wieso?</p>
<p>WinSOCKER <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/432970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/432970</guid><dc:creator><![CDATA[Winsocker ;)]]></dc:creator><pubDate>Sat, 10 Jan 2004 11:09:12 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Sat, 10 Jan 2004 12:16:57 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich nehme an der Buffer beim Empfänger ist erfolgreich mit allen Daten gefüllt (muss ja so sein, da der Buffer dann in eine Datei geschrieben wird und die Datei, wie du gesagt hast, vollständig ist).<br />
Ich glaube, dass das Problem darin besteht, dass du den Buffer in einen Nullterminierten String (CString) konvertierst und dann mit z.B. MessageBox ausgibst.<br />
Beim Konvertieren in einen Nullterminierten String gehen die Daten dann verloren (obwohl im Buffer die Daten vollständig vorhanden sind).</p>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/433009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/433009</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Sat, 10 Jan 2004 12:16:57 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Sat, 10 Jan 2004 13:24:34 GMT]]></title><description><![CDATA[<p>Hallo! Nein ich arbeite nur mit char * s</p>
]]></description><link>https://www.c-plusplus.net/forum/post/433038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/433038</guid><dc:creator><![CDATA[Winsocker]]></dc:creator><pubDate>Sat, 10 Jan 2004 13:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Sat, 10 Jan 2004 14:40:19 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>ach, hab dich missverstanden, sorry.</p>
<p>Dachte die Daten wären komplett wenn du sie beim Client abspeicherst.<br />
<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="😞"
    /> <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>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/433083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/433083</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Sat, 10 Jan 2004 14:40:19 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Sat, 10 Jan 2004 16:42:53 GMT]]></title><description><![CDATA[<p>na doll <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="🙂"
    /> Ist CSocket unfähig Daten zu versenden obwohl sie 0terminiert sind oder was?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/433164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/433164</guid><dc:creator><![CDATA[Surkevin]]></dc:creator><pubDate>Sat, 10 Jan 2004 16:42:53 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Mon, 12 Jan 2004 12:55:25 GMT]]></title><description><![CDATA[<p>Habt ihr selbst nie mit MFC Sachen verschickt die ein \0 hatten oder wieso weiß das niemand? Auf viel schwereres habt ihr doch auch immer Antworten <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/434445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/434445</guid><dc:creator><![CDATA[Winsocker]]></dc:creator><pubDate>Mon, 12 Jan 2004 12:55:25 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Mon, 12 Jan 2004 13:35:13 GMT]]></title><description><![CDATA[<p>Mit ziemlicher Sicherheit kommen die Daten richtig an, du benutzt nur danach irgendwo eine Kopier- oder Ausgabefunktion, die von einer Nullterminierung ausgeht. Da aber hier niemand Lust hat, solange zu raten, bis du &quot;Bingo&quot; rufst, wirst du wohl, um Antworten zu bekommen, mal den Code herzeigen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/434471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/434471</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 12 Jan 2004 13:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Mon, 12 Jan 2004 13:57:53 GMT]]></title><description><![CDATA[<p>Naja ok...der Code zum Datei verschicken interessiert nicht da er da 100%igst richtig abgegeben wird...ich schreibe danach ja das abgesendete in eine Datei und es ist identisch, hier der Code des Clients, der empfängt:</p>
<pre><code class="language-cpp">OnReceive()
{
	char *pBuf = new char[10250000];
	int iBufSize = 10240000;
	int iRcvd;
	CString strRecvd, temp;
	// Nachricht empfangen
	iRcvd = m_sConnectSocket.Receive(pBuf, iBufSize);

	// Wurde etwas empfangen?
	if (iRcvd != SOCKET_ERROR)
{

		if(pBuf[0] == '!' &amp;&amp; pBuf[1] == 'F')
		{
			ReceiveFile(pBuf, iRcvd);
		}
}
}

ReceiveFile(char *buffer, int iRc)
{
	int iRcvd;
	char * saveFile = new char[10240000];

	memcpy(saveFile, buffer, iRc);

	int iPos = iRc;

         CString strRecvd;

	strRecvd = buffer;

	while(strRecvd.Find(&quot;ENDE DES SENDINGS&quot;) == -1)
	{
		iRcvd = m_sConnectSocket.Receive(buffer, 1024000);

		if (iRcvd != SOCKET_ERROR)
		{
			memcpy(saveFile + iPos, buffer, iRcvd);
			iPos += iRcvd;
			strRecvd = strRecvd + buffer;

		}

	}

	strRecvd.Replace(&quot;ENDE DES SENDINGS&quot;, &quot;&quot;);

         WriteFile(saveFile, iPos);

	delete [] saveFile;
}
</code></pre>
<p>Ich wüsste nicht wo hier eine Funktion von einem nullterminierten String ausgeht..</p>
<p>Winsocker</p>
]]></description><link>https://www.c-plusplus.net/forum/post/434492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/434492</guid><dc:creator><![CDATA[Winsocker]]></dc:creator><pubDate>Mon, 12 Jan 2004 13:57:53 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Mon, 12 Jan 2004 14:25:02 GMT]]></title><description><![CDATA[<p>Winsocker schrieb:</p>
<blockquote>
<p>Ich wüsste nicht wo hier eine Funktion von einem nullterminierten String ausgeht..</p>
</blockquote>
<p>Ich schon. Der Zuweisungsoperator von CString.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/434507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/434507</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 12 Jan 2004 14:25:02 GMT</pubDate></item><item><title><![CDATA[Reply to CSocket::Send sendet nur einen null terminierten String - wie ändere ich das? on Mon, 12 Jan 2004 14:47:35 GMT]]></title><description><![CDATA[<p>Rapha schrieb:</p>
<blockquote>
<p>Ich nehme an der Buffer beim Empfänger ist erfolgreich mit allen Daten gefüllt</p>
</blockquote>
<p>Rapha schrieb:</p>
<blockquote>
<p>Ich glaube, dass das Problem darin besteht, dass du den Buffer in einen Nullterminierten String (CString) konvertierst und dann mit z.B. MessageBox ausgibst.</p>
</blockquote>
<p>So weit daneben lag ich gar nicht <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/434523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/434523</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Mon, 12 Jan 2004 14:47:35 GMT</pubDate></item></channel></rss>