質問編集履歴
3
コードの不良を訂正
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -122,9 +122,8 @@ 
     | 
|
| 
       122 
122 
     | 
    
         
             
            	}
         
     | 
| 
       123 
123 
     | 
    
         | 
| 
       124 
124 
     | 
    
         
             
            	unsigned long low, hi;
         
     | 
| 
       125 
     | 
    
         
            -
            	hi  = (ntohs( 
     | 
| 
      
 125 
     | 
    
         
            +
            	hi  = (ntohs(sockmine.sin_port) >> 8) & 0xff;
         
     | 
| 
       126 
126 
     | 
    
         
             
            	low = ntohs(sockmine.sin_port) & 0xff;
         
     | 
| 
       127 
     | 
    
         
            -
            	low = 79;
         
     | 
| 
       128 
127 
     | 
    
         | 
| 
       129 
128 
     | 
    
         
             
            	sprintf_s(szStr, "PORT %d,%d,%d,%d,%d,%d\n",
         
     | 
| 
       130 
129 
     | 
    
         
             
            					sockmine.sin_addr.S_un.S_un_b.s_b1,
         
     | 
2
指摘に従い、send/recvを追加
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -132,12 +132,10 @@ 
     | 
|
| 
       132 
132 
     | 
    
         
             
            					sockmine.sin_addr.S_un.S_un_b.s_b3, 
         
     | 
| 
       133 
133 
     | 
    
         
             
            					sockmine.sin_addr.S_un.S_un_b.s_b4, 
         
     | 
| 
       134 
134 
     | 
    
         
             
            					hi,low);
         
     | 
| 
       135 
     | 
    
         
            -
             
     | 
| 
       136 
     | 
    
         
            -
            	//	LISTコマンドを送信
         
     | 
| 
       137 
     | 
    
         
            -
            	sprintf_s(szStr, sizeof(szStr), "LIST\r\n");
         
     | 
| 
       138 
135 
     | 
    
         
             
            	send(s, szStr, (int)strlen(szStr), 0);
         
     | 
| 
       139 
136 
     | 
    
         
             
            	memset(szStrRcv, '\0', sizeof(szStr));
         
     | 
| 
       140 
137 
     | 
    
         
             
            	recv(s, szStrRcv, sizeof(szStrRcv) - 1, 0);
         
     | 
| 
      
 138 
     | 
    
         
            +
                  printf(szStrRcv) ;
         
     | 
| 
       141 
139 
     | 
    
         | 
| 
       142 
140 
     | 
    
         
             
            	sockmine.sin_addr.S_un.S_addr = inet_addr(::szFtpServer)  ;
         
     | 
| 
       143 
141 
     | 
    
         | 
1
ソースを読みやすいように訂正、文言を変更してわかりやすく
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -6,13 +6,13 @@ 
     | 
|
| 
       6 
6 
     | 
    
         
             
            ###発生している問題・エラーメッセージ
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            「対象のコンピューターによって拒否されたため、接続できませんでした。」
         
     | 
| 
       9 
     | 
    
         
            -
            となり、2度目の接続エラーになります。
         
     | 
| 
      
 9 
     | 
    
         
            +
            となり、2度目**のCONNECT処理にて**接続エラーになります。
         
     | 
| 
       10 
10 
     | 
    
         
             
            なお、手動では問題なく接続できています。
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
      
 11 
     | 
    
         
            +
            **手動での確認方法はコマンドプロンプトから"ftp -d"とftpのプロトコル表示をしながら確認しています。**
         
     | 
| 
       12 
12 
     | 
    
         
             
            ###該当のソースコード
         
     | 
| 
       13 
13 
     | 
    
         
             
            開発言語はVS2008上のC言語で行っています。
         
     | 
| 
       14 
14 
     | 
    
         
             
            本ソースはPassiv接続をActive接続に書き直してテストしています。
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
            ```
         
     | 
| 
       16 
16 
     | 
    
         
             
            void _tmain(void){
         
     | 
| 
       17 
17 
     | 
    
         
             
            	char szStr[256];	//	送信バッファ
         
     | 
| 
       18 
18 
     | 
    
         
             
            	char szStrRcv[1024];	//	受信バッファ
         
     | 
| 
         @@ -221,7 +221,7 @@ 
     | 
|
| 
       221 
221 
     | 
    
         
             
            	// バッファを解放する。
         
     | 
| 
       222 
222 
     | 
    
         
             
            	LocalFree(lpMsgBuf);
         
     | 
| 
       223 
223 
     | 
    
         
             
            }
         
     | 
| 
       224 
     | 
    
         
            -
             
     | 
| 
      
 224 
     | 
    
         
            +
            ```
         
     | 
| 
       225 
225 
     | 
    
         
             
            ###試したこと
         
     | 
| 
       226 
226 
     | 
    
         
             
            ポート番号が手動でコマンド打ちした場合(コマンドラインから"ftp -d"で動作)と、ポート番号があっていないのが原因かと思い、ポート番号を固定してみましたが、変化ありませんでした。
         
     | 
| 
       227 
227 
     | 
    
         |