質問編集履歴
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
|
|