<?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[socketfrage - dateiübertragung]]></title><description><![CDATA[<p>hallo!</p>
<p>ich habe mir 2 programme geschriebn. einen socket-server ( sendet) und nen clienten ( empfängt). das ganze funktioniert mit einer nachricht schon gut, aber ich würde das gern auf dateiübertragung &quot;upgraden&quot;.<br />
wie mach ich das? mit ner schleife, die immer wieder sendet ? oder noch anders?<br />
und muss der client dieselbe schleife haben? er muss ja das ganze mit nem stream wieder in eine datei bringen.</p>
<p>ich brauch ( denke ich ) keinen code, sondern nur denkansätze xD</p>
<p>danke! da hok</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190713/socketfrage-dateiübertragung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 17:42:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190713.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Aug 2007 20:08:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to socketfrage - dateiübertragung on Sat, 25 Aug 2007 20:08:02 GMT]]></title><description><![CDATA[<p>hallo!</p>
<p>ich habe mir 2 programme geschriebn. einen socket-server ( sendet) und nen clienten ( empfängt). das ganze funktioniert mit einer nachricht schon gut, aber ich würde das gern auf dateiübertragung &quot;upgraden&quot;.<br />
wie mach ich das? mit ner schleife, die immer wieder sendet ? oder noch anders?<br />
und muss der client dieselbe schleife haben? er muss ja das ganze mit nem stream wieder in eine datei bringen.</p>
<p>ich brauch ( denke ich ) keinen code, sondern nur denkansätze xD</p>
<p>danke! da hok</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352025</guid><dc:creator><![CDATA[hokage]]></dc:creator><pubDate>Sat, 25 Aug 2007 20:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to socketfrage - dateiübertragung on Sat, 25 Aug 2007 20:12:11 GMT]]></title><description><![CDATA[<p>Bist doch auf dem richtigen Weg <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 />
Der Sender müsste erst Bescheid sagen, dass er eine Datei schicken will. Dazu kann er gleich Infos wie Dateiname, Dateigröße, Päckchengröße oder so mitschicken. Der Empfänger gibt sein ok, daraufhin schickt der Sender Stück für Stück die Datei, am Ende braucht es vielleicht noch ein beidseitiges &quot;OK&quot;, um die Übertragung zu bestätigen, dann ist alles in Butter <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>
<p>e: fast vergessen:<br />
bitte! da bade<br />
<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/1352030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352030</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 25 Aug 2007 20:12:11 GMT</pubDate></item><item><title><![CDATA[Reply to socketfrage - dateiübertragung on Sat, 25 Aug 2007 20:12:44 GMT]]></title><description><![CDATA[<p>aukeii ( okay ( man hab ich ne langeweile xD ))</p>
<p>danke!</p>
<p>dann schreib ich das ma...</p>
<p>keine garantie das nich noch detailliertere fragen kommen <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/1352031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352031</guid><dc:creator><![CDATA[hokage]]></dc:creator><pubDate>Sat, 25 Aug 2007 20:12:44 GMT</pubDate></item><item><title><![CDATA[Reply to socketfrage - dateiübertragung on Sat, 25 Aug 2007 21:38:59 GMT]]></title><description><![CDATA[<p>hallo nochma</p>
<pre><code class="language-cpp">char buf [256];
	rc=recv(s,buf,255,0);
	if (rc == SOCKET_ERROR) {
		cout&lt;&lt;&quot;Fehler beim emfangen&quot;&lt;&lt;WSAGetLastError()&lt;&lt;endl;
	} else {
		cout&lt;&lt;&quot;emfangen:&quot;&lt;&lt;endl;
	}
string b;
for (int i = 0; i&lt; 256;i++) {
	b.push_back(buf[i]);
}
cout&lt;&lt;b&lt;&lt;endl;
</code></pre>
<p>bei der ausgabe kommt ( bis auf das empfangene ) natürlich nur müll raus.. kann ich das umgehn?</p>
<p>vllt buf als string? geht das? wenn ja wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352069</guid><dc:creator><![CDATA[hok_unlogged]]></dc:creator><pubDate>Sat, 25 Aug 2007 21:38:59 GMT</pubDate></item><item><title><![CDATA[Reply to socketfrage - dateiübertragung on Sat, 25 Aug 2007 22:22:58 GMT]]></title><description><![CDATA[<p>Was für Daten sendest du denn? Text? Wenn ja, sende und empfange einfach das abschließende Null-Byte mit, dann kannst du &quot;char buf[]&quot; ganz normal wie einen String behandeln. Oder du schiebst den Inhalt in ein string-Objekt, kommt aufs gleiche raus <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/1352091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352091</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 25 Aug 2007 22:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to socketfrage - dateiübertragung on Sat, 25 Aug 2007 22:30:50 GMT]]></title><description><![CDATA[<p>Das Einfachste ist es wenn man vorher die Länge mitschickt, wieviel Daten übertragen werden.<br />
Und du solltest beachten dass wenn du 256 Bytes empfangen willst, nicht unbedingt 256 Bytes empfangen werden. Es können genausogut nur 1 Byte oder 10 oder 100 bis eben maximal 256 empfangen werden.</p>
<p>Oder du bekommst eben SOCKET_ERROR zurück wenn ein Fehler aufgetreten ist, oder 0 falls der Socket am anderen Ende (für Senden) geschlossen wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352096</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 25 Aug 2007 22:30:50 GMT</pubDate></item><item><title><![CDATA[Reply to socketfrage - dateiübertragung on Sun, 26 Aug 2007 08:39:56 GMT]]></title><description><![CDATA[<p>also, danke erstmal ( das hatte ich vergessen, sry)</p>
<p>also das mit der größe:</p>
<p>ich schick die größe, dann mach ich ne variable und dann erstell ich den buffer mit char buf [variable]</p>
<p>so hab ich des verstanden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
das werd ich schoma so machen</p>
<p>ich wollte das eigentlich für sämtliche dateitypen machen. muss ich da noch was beachten???</p>
<p>greets da hok</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352170</guid><dc:creator><![CDATA[hokage]]></dc:creator><pubDate>Sun, 26 Aug 2007 08:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to socketfrage - dateiübertragung on Sun, 26 Aug 2007 18:07:29 GMT]]></title><description><![CDATA[<p>Der Dateityp ist vollkommen egal, letztendlich ist es immer nur ein Haufen Bytes die in einem File drinstehen, und die musst du eben über die Socket Verbindung übertragen. Und am anderen Ende wieder in ein File schreiben.</p>
<p>Sonstige Dinge wie Dateiname etc. musst du evtl. auch mitschicken - kommt drauf an ob am anderen Ende der Original-Dateiname wiederhergestellt werden soll, oder ob der Empfänger einen Namen vergibt.<br />
Genauso, falls du das originale Änderungsdatum/Erstellungsdatum oder auch Flags wiederherstellen willst, musst du diese Informationen auch mitschicken.</p>
<p>p.S.: was es evtl. zu beachten gibt: wenn du die C-API verwendest (fopen/_open, fread/_read) musst du das File im &quot;binary&quot; mode aufmachen (auf beiden Seiten), sonst wird es nicht funktionieren - zumindest mit den meisten &quot;nicht-Textfiles&quot; nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1352498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1352498</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 26 Aug 2007 18:07:29 GMT</pubDate></item></channel></rss>