<?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[ftp upload problem]]></title><description><![CDATA[<p>hallo<br />
ich möchte gerne ein programm schreiben das zu einem bestimmen zeitpunkt eine datei auf einen ftpserver schickt<br />
jetzt habe ich schon alles versucht ich habe mit ethereal geschaut wie es andere programme machen usw aber ich kann einfach nicht in die datei schrieben<br />
ich möchte es nicht mit den Internet() funktionen machen</p>
<p>bis jetziger quelltext:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;winsock2.h&gt;
#include &lt;windows.h&gt;
using namespace std;
#pragma comment(lib,&quot;wsock32.lib&quot;) 
#define EOL &quot;\r\n&quot;
#define CUTT buffer[ret] = '\0';

typedef struct threadd
{
  char serv[200];
} TDATA;

int main()
{
	TDATA td;
	strcpy(td.serv, &quot;home.pages.at&quot;);
	char buffer[1024];
	char messageline[255];
	WSADATA ws;
	SOCKET hserver;
	int port;
	int ret;
	SOCKADDR_IN    SockAddr;

   if ( WSAStartup(MAKEWORD(1, 1), &amp;ws) ) 
   {      
      cout&lt;&lt;&quot;Error: Kann Winsock nicht finden&quot;&lt;&lt;endl;             
      return(1);
   }

   hostentry = gethostbyname(td.serv);
   if (hostentry == NULL)    
   {    
      cout&lt;&lt;&quot;Error: Kann den SMTP Server(&quot;&lt;&lt;td.serv&lt;&lt;&quot;)&quot; 
            &lt;&lt;&quot;nicht finden &quot;&lt;&lt;endl;       
      return(1);
   }   

   hserver = socket( PF_INET, SOCK_STREAM, 0); 
   if (hserver == INVALID_SOCKET) 
   {            
      cout&lt;&lt;&quot;Error: Cannot open mail server socket&quot;&lt;&lt;endl;
      return(1);
   }

   SockAddr.sin_family = AF_INET;
   SockAddr.sin_port = htons(21);
   SockAddr.sin_addr = *((LPIN_ADDR)*hostentry-&gt;h_addr_list);

   if (connect( hserver, (PSOCKADDR) &amp;SockAddr, sizeof(SockAddr)))
   {
     cout&lt;&lt;&quot;Error: Connecting to Server socket failed&quot;&lt;&lt;endl;
     return (1);
   }

   //*************talk***************

   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;USER username%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;PASS passwort%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;feat%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;pasv%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;type i%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;type a%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;cwd /%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;pasv%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;stor test.txt%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;

   getchar();
	return 0;
}
</code></pre>
<p>eine datei wird erzeugt aber wie kann ich dan in diese datei etwas schrieben???<br />
vielleicht kann mir wer helfen...</p>
<p>mfg kathl</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/100947/ftp-upload-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 01:15:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/100947.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Feb 2005 16:11:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ftp upload problem on Fri, 11 Feb 2005 16:11:41 GMT]]></title><description><![CDATA[<p>hallo<br />
ich möchte gerne ein programm schreiben das zu einem bestimmen zeitpunkt eine datei auf einen ftpserver schickt<br />
jetzt habe ich schon alles versucht ich habe mit ethereal geschaut wie es andere programme machen usw aber ich kann einfach nicht in die datei schrieben<br />
ich möchte es nicht mit den Internet() funktionen machen</p>
<p>bis jetziger quelltext:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;winsock2.h&gt;
#include &lt;windows.h&gt;
using namespace std;
#pragma comment(lib,&quot;wsock32.lib&quot;) 
#define EOL &quot;\r\n&quot;
#define CUTT buffer[ret] = '\0';

typedef struct threadd
{
  char serv[200];
} TDATA;

int main()
{
	TDATA td;
	strcpy(td.serv, &quot;home.pages.at&quot;);
	char buffer[1024];
	char messageline[255];
	WSADATA ws;
	SOCKET hserver;
	int port;
	int ret;
	SOCKADDR_IN    SockAddr;

   if ( WSAStartup(MAKEWORD(1, 1), &amp;ws) ) 
   {      
      cout&lt;&lt;&quot;Error: Kann Winsock nicht finden&quot;&lt;&lt;endl;             
      return(1);
   }

   hostentry = gethostbyname(td.serv);
   if (hostentry == NULL)    
   {    
      cout&lt;&lt;&quot;Error: Kann den SMTP Server(&quot;&lt;&lt;td.serv&lt;&lt;&quot;)&quot; 
            &lt;&lt;&quot;nicht finden &quot;&lt;&lt;endl;       
      return(1);
   }   

   hserver = socket( PF_INET, SOCK_STREAM, 0); 
   if (hserver == INVALID_SOCKET) 
   {            
      cout&lt;&lt;&quot;Error: Cannot open mail server socket&quot;&lt;&lt;endl;
      return(1);
   }

   SockAddr.sin_family = AF_INET;
   SockAddr.sin_port = htons(21);
   SockAddr.sin_addr = *((LPIN_ADDR)*hostentry-&gt;h_addr_list);

   if (connect( hserver, (PSOCKADDR) &amp;SockAddr, sizeof(SockAddr)))
   {
     cout&lt;&lt;&quot;Error: Connecting to Server socket failed&quot;&lt;&lt;endl;
     return (1);
   }

   //*************talk***************

   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;USER username%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;PASS passwort%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;feat%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;pasv%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;type i%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;type a%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;cwd /%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;pasv%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;
   ret = recv(hserver, buffer, sizeof(buffer), 0);
   CUTT
	   cout &lt;&lt; buffer &lt;&lt; endl;

   sprintf(messageline, &quot;stor test.txt%s&quot;, EOL);
   send(hserver, messageline, strlen(messageline), 0);
   cout &lt;&lt; messageline &lt;&lt; endl;

   getchar();
	return 0;
}
</code></pre>
<p>eine datei wird erzeugt aber wie kann ich dan in diese datei etwas schrieben???<br />
vielleicht kann mir wer helfen...</p>
<p>mfg kathl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720801</guid><dc:creator><![CDATA[killakathl]]></dc:creator><pubDate>Fri, 11 Feb 2005 16:11:41 GMT</pubDate></item><item><title><![CDATA[Reply to ftp upload problem on Fri, 11 Feb 2005 16:16:32 GMT]]></title><description><![CDATA[<p>Du musst eine 2. &quot;data connection&quot; aufbauen und darüber die daten übertragen...</p>
<p>Das dürfte dich interessieren:<br />
<a href="http://cr.yp.to/ftp.html" rel="nofollow">http://cr.yp.to/ftp.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/720806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720806</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 11 Feb 2005 16:16:32 GMT</pubDate></item><item><title><![CDATA[Reply to ftp upload problem on Fri, 11 Feb 2005 16:24:18 GMT]]></title><description><![CDATA[<p>du meinst ich muss ne 2te verbindung aufbauen auf nem anderen port und das dann von dort aus schicken oder wie???<br />
(so hab ich halt die anleitung gedeutet...)</p>
<p>mfg kathl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720814</guid><dc:creator><![CDATA[killakathl]]></dc:creator><pubDate>Fri, 11 Feb 2005 16:24:18 GMT</pubDate></item><item><title><![CDATA[Reply to ftp upload problem on Fri, 11 Feb 2005 16:39:21 GMT]]></title><description><![CDATA[<p>wenn du pasv sendest (passiver client), sendet der srv (glaube ich) einen string mit (z.b.) 80,90,100,200,245,256. das heißt ip:80.90.100.200 port 245*256+256 (1.port*256+2.port)</p>
<p>dahin werden die ganzen daten hingeschickt (z.b. list)</p>
<p>jetz kanns ja sein dass man an den srv an den port 245*256+256 die daten sendet??</p>
<p>einfach mal ausprobieren das hab ich mir jetz nur überlegt (das mit list stimmt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720830</guid><dc:creator><![CDATA[Blackhawk]]></dc:creator><pubDate>Fri, 11 Feb 2005 16:39:21 GMT</pubDate></item><item><title><![CDATA[Reply to ftp upload problem on Fri, 11 Feb 2005 16:45:19 GMT]]></title><description><![CDATA[<p>loool ja das mit dem string stimmt...<br />
aber immer wenn ich mich dann wieder verbinden will kommt eine fehlermeldung:</p>
<pre><code class="language-cpp">SockAddr.sin_family = AF_INET;
   SockAddr.sin_port = htons(256*x+y); // das is der port
   SockAddr.sin_addr.s_addr = inet_addr(&quot;195.58.176.133&quot;); // und die ip

   if (connect( hserver, (PSOCKADDR) &amp;SockAddr, sizeof(SockAddr)))
   {
     cout&lt;&lt;&quot;Error: Connecting to Server socket failed&quot;&lt;&lt;endl;
   }
</code></pre>
<p>ich bekomme dann immer eine fehlermeldung<br />
kanns sein das ich einen gnaz neuen server starten muss???</p>
<p>mfg kathl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720838</guid><dc:creator><![CDATA[killakathl]]></dc:creator><pubDate>Fri, 11 Feb 2005 16:45:19 GMT</pubDate></item><item><title><![CDATA[Reply to ftp upload problem on Fri, 11 Feb 2005 16:47:59 GMT]]></title><description><![CDATA[<p>habs mit nem neuen socket versucht geht auch nick <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>mfg kathl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/720841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/720841</guid><dc:creator><![CDATA[killakathl]]></dc:creator><pubDate>Fri, 11 Feb 2005 16:47:59 GMT</pubDate></item></channel></rss>