<?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übertragung]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe ein Netzwerk zwischen zwei Rechnern bei mir zuhause aufgebaut (natürlich läuft auf einem ein Winsock-Server und aufm anderen ein Client).</p>
<p>Ich möchte nun vom Server eine Datei zum Client schicken.<br />
Wie mache ich das?</p>
<p>Also eine Verbindung steht bereits.</p>
<p>Kann mir jemand da weiterhelfen?<br />
Das wäre echt klasse!</p>
<p>Julia</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/221343/dateiübertragung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 05:54:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/221343.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 Aug 2008 00:25:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateiübertragung on Thu, 28 Aug 2008 00:25:02 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich habe ein Netzwerk zwischen zwei Rechnern bei mir zuhause aufgebaut (natürlich läuft auf einem ein Winsock-Server und aufm anderen ein Client).</p>
<p>Ich möchte nun vom Server eine Datei zum Client schicken.<br />
Wie mache ich das?</p>
<p>Also eine Verbindung steht bereits.</p>
<p>Kann mir jemand da weiterhelfen?<br />
Das wäre echt klasse!</p>
<p>Julia</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1572635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1572635</guid><dc:creator><![CDATA[July1983]]></dc:creator><pubDate>Thu, 28 Aug 2008 00:25:02 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübertragung on Thu, 28 Aug 2008 01:08:32 GMT]]></title><description><![CDATA[<p>Eigentlich ist das ganz simpel: Datei laden und bröckchenweise rüberschicken <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="🙂"
    /><br />
Kannst du denn mit deinem selbstgebastelten Code auch Binärdaten verschicken oder nur Texte? Sonst halt nachrüsten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1572638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1572638</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 28 Aug 2008 01:08:32 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübertragung on Thu, 28 Aug 2008 13:10:49 GMT]]></title><description><![CDATA[<p>Also Binärdaten kann ich nicht versenden. Ich kann einfache zeichenfolgen versenden. also auf der Basis von char...</p>
<p>So in etwa sieht mein Code aus (zumindest in den jetzt grade interessanten abschnitten <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>
<p>Client</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt;
#include &lt;iostream&gt;
using namespace std;

void main()
{
   WSADATA wsa; 
   WSAStartup(MAKEWORD(2,0),&amp;wsa);

   SOCKET s;
   s = socket(AF_INET,SOCK_STREAM,0);

   SOCKADDR_IN adr;
   memset(&amp;adr,0,sizeof(SOCKADDR_IN));
   adr.sin_family=AF_INET;
   adr.sin_port=htons(47);
   adr.sin_adr.s_adr=inet_addr(&quot;192.172.30.47&quot;);

   connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));

   send(s,&quot;Datei&quot;,5,0);
}
</code></pre>
<p>Server</p>
<pre><code class="language-cpp">#include &lt;winsock2.h&gt;
#include &lt;iostream&gt;
using namespace std;

void main()
{
   WSADATA wsa; 
   WSAStartup(MAKEWORD(2,0),&amp;wsa);

   SOCKET accept;
   SOCKET connected;
   accept = socket(AF_INET,SOCK_STREAM,0);

   SOCKADDR_IN adr;
   memset(&amp;adr,0,sizeof(SOCKADDR_IN));
   adr.sin_family=AF_INET;
   adr.sin_port=htons(47);
   adr.sin_adr.s_adr=ADDR_ANY;

   bind(accept,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));
   listen(accept,10);
   connected = accept(accept,NULL,NULL);

   char file[4];
   recv(connected,file5,0);
}
</code></pre>
<p>So sieht der Verbindungsteil meines Codes aus. Was muss ich tunen damit ich dateien versenden kann?<br />
Ich glaube der schwerste teil ist die Datein so zu entpacken, das Zeichen ausgelesen werden können die nach dem übertragen und zusammensetzen auf der anderen Seite wieder eine komplette Datei ergeben, oder?</p>
<p>Julia</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1572959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1572959</guid><dc:creator><![CDATA[July1983]]></dc:creator><pubDate>Thu, 28 Aug 2008 13:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübertragung on Thu, 28 Aug 2008 13:17:52 GMT]]></title><description><![CDATA[<p>July1983 schrieb:</p>
<blockquote>
<p>So sieht der Verbindungsteil meines Codes aus. Was muss ich tunen damit ich dateien versenden kann?<br />
Ich glaube der schwerste teil ist die Datein so zu entpacken, das Zeichen ausgelesen werden können die nach dem übertragen und zusammensetzen auf der anderen Seite wieder eine komplette Datei ergeben, oder?</p>
<p>Julia</p>
</blockquote>
<p>Nö, das ist ganz einfach. Du öffnest die Datei, liest einen Block in deinen Buffer und versendest diesen dann per <em>send</em>. Das machst du so lang bis du die komplette Datei versendet hast.</p>
<p>Der Client muss natürlich so lang empfangen bis die kompletten Daten gesendet wurden. Also einfach in einer Schleife per <em>recv</em> Empfangen bis die Daten komplett sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1572975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1572975</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Thu, 28 Aug 2008 13:17:52 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübertragung on Thu, 28 Aug 2008 13:20:53 GMT]]></title><description><![CDATA[<p>July1983 schrieb:</p>
<blockquote>
<p>Also Binärdaten kann ich nicht versenden. Ich kann einfache zeichenfolgen versenden. also auf der Basis von char...</p>
</blockquote>
<p>Dir ist das folgende klar?</p>
<ul>
<li>Zeichenfolgen sind Bytefolgen</li>
<li>Bytefolgen sind Binärdaten</li>
<li>Du benutzt Windows -&gt; wegen Winsock</li>
<li>char ist auf Windows gleich einem Byte</li>
<li>Man kann über Sockets nur binär senden</li>
</ul>
<p>Alles was du also machen musst, ist die Datei einzulesen und ein Protokoll zu definieren, wie du die Datei überträgst. Ganz trivial, du sendest zuerst 8 Bytes, welche die Grösse der Datei angeben und danach sendest du die angegebene Menge an Bytes, also die Datei.</p>
<p>Auf der anderen Seite, wartest du auf den Empfang. Liest 8 Bytes aus und weisst somit, wieviele Bytes nun noch kommen, bis die Datei komplett ist. Die liest du ein und speicherst sie in einer Datei ab.</p>
<p>Wo ist das Problem?</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1572980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1572980</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 28 Aug 2008 13:20:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübertragung on Thu, 28 Aug 2008 13:46:07 GMT]]></title><description><![CDATA[<p>Okay. Das klingt beruhigend. <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>Nur wie öffne ich die Datei?<br />
kann ich die mit ganz normalenm 0815-Standard auslesen? Also so:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;

(..)

ifstream f;

f.open(&quot;Dateiname&quot;,,ios_base::in);

f.get(zeichen);
</code></pre>
<p>Kann man mit diesem Verfahren auch Anwendungen über das Netzwerk versenden?</p>
<p>Julia</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1573011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1573011</guid><dc:creator><![CDATA[Julia1983]]></dc:creator><pubDate>Thu, 28 Aug 2008 13:46:07 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiübertragung on Thu, 28 Aug 2008 13:48:29 GMT]]></title><description><![CDATA[<blockquote>
<p>Kann man mit diesem Verfahren auch Anwendungen über das Netzwerk versenden?</p>
</blockquote>
<p>Jegliche Art von Daten, hauptsache, sie lassen sich in eine Folge von Bytes bringen oder liegen schon so vor (File).<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1573016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1573016</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Thu, 28 Aug 2008 13:48:29 GMT</pubDate></item></channel></rss>