Модераторы: feodorv

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> wininet , действия отличаются на двух компьютерах 
:(
    Опции темы
Owyn
  Дата 1.6.2009, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



Код

        char file[120]="myfile.jpeg"
         char fn[120]="myinfo.jpeg"

        char *user="username";
        char *pass="password";
        char *ftpserver="ftp.myserver.com";
    char *filetosend=file;
    char *filetosend2=fn;

    char filetosendtoC[255];
    wsprintf(filetosendtoC,"ftproot\\screens\\%s",file);
    char filetosendto2C[255];
    wsprintf(filetosendto2C,"ftproot\\info\\%s",fn);

    char *filetosendto=filetosendtoC;
    char *filetosendto2=filetosendto2C;
    

    HINTERNET hInternet;
    HINTERNET hFtpSession;
    hInternet = InternetOpen(NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
    hFtpSession = InternetConnect(hInternet,ftpserver , INTERNET_DEFAULT_FTP_PORT, user, pass, INTERNET_SERVICE_FTP, 0, 0);
    if(    FtpPutFile(hFtpSession, filetosend, filetosendto, FTP_TRANSFER_TYPE_BINARY, INTERNET_FLAG_PASSIVE) == TRUE){
        //File Sent!
        Sleep(1000);
                    if(    FtpPutFile(hFtpSession, filetosend2, filetosendto2, FTP_TRANSFER_TYPE_BINARY, INTERNET_FLAG_PASSIVE) == TRUE){
                    //File Sent!
                    Sleep(1000);
                    InternetCloseHandle(hFtpSession);
                    InternetCloseHandle(hInternet);
                            }
                            else{
                                //error
                            }
        InternetCloseHandle(hFtpSession);
        InternetCloseHandle(hInternet);
    }
    else{
        //error
    }


на моем компьютере этот код прекрасно работает, но у друга совсем по другому, вот лог фтп сервера:

я:

Цитата

Jun 01 20:28:36  908  Incoming connection request on interface 93.81.248.130 //мой ип, я
Jun 01 20:28:36  908  Connection request accepted from 93.81.248.130
Jun 01 20:28:36  908  USER username
Jun 01 20:28:36  908  331 User username, password please  
Jun 01 20:28:36  908  PASS ***********
Jun 01 20:28:36  908  230 Password Ok, User logged in  
Jun 01 20:28:36  908  TYPE I
Jun 01 20:28:36  908  200 Type Binary  
Jun 01 20:28:36  908  PORT 93,81,248,130,5,96
Jun 01 20:28:36  908  200 Port command received  
Jun 01 20:28:36  908  STOR ftproot\screens\myfile.jpeg
Jun 01 20:28:36  908  150 Opening data connection  
Jun 01 20:28:36  908  File transfer complete
Jun 01 20:28:36  908  226 Transfer complete  
Jun 01 20:28:37  908  TYPE I
Jun 01 20:28:37  908  200 Type Binary  
Jun 01 20:28:37  908  PORT 93,81,248,130,5,97
Jun 01 20:28:37  908  200 Port command received  
Jun 01 20:28:37  908  STOR ftproot\info\myinfo.jpeg
Jun 01 20:28:37  908  150 Opening data connection  
Jun 01 20:28:37  908  File transfer complete
Jun 01 20:28:37  908  226 Transfer complete  
Jun 01 20:28:38  908  The connection was closed by the remote socket
Jun 01 20:28:38  908  Connection terminated.



друг:

Цитата

Jun 01 20:31:42  915  Incoming connection request on interface 93.81.248.130 //его ип, он
Jun 01 20:31:42  915  Connection request accepted from 77.243.100.173
Jun 01 20:31:42  915  USER username
Jun 01 20:31:42  915  331 User username, password please  
Jun 01 20:31:42  915  PASS ***********
Jun 01 20:31:42  915  230 Password Ok, User logged in  
Jun 01 20:31:42  915  CWD ftproot
Jun 01 20:31:42  915  250 Change directory ok  
Jun 01 20:31:43  915  CWD screens
Jun 01 20:31:43  915  250 Change directory ok  
Jun 01 20:31:43  915  PORT 10,233,15,11,19,139
Jun 01 20:31:43  915  200 Port command received  
Jun 01 20:31:43  915  STOR myfile.jpeg
Jun 01 20:32:04  915  Unable to connect : Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.  
Jun 01 20:32:04  915  425 Unable to open the data connection  
Jun 01 20:32:36  912  Connection timed out. Shutting down connection...
Jun 01 20:32:36  912  Connection terminated.



Это сообщение отредактировал(а) Owyn - 1.6.2009, 19:48
PM MAIL   Вверх
xvr
Дата 2.6.2009, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Firewall'а по дороге не стоит?
Попробуй обычным ftp клиентом с компьютера друга, оно вообще работать будет?



Это сообщение отредактировал(а) xvr - 2.6.2009, 10:57
PM MAIL   Вверх
Owyn
Дата 2.6.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



файрволла нету, по tcp винсок сервер\клиент от него файлы шли, на мини фпт самодельном классе тоже фигня, зависает приложение на 0 отправленных байтов 1го файла у него (и у пару других людей), но у большинства все ок, если заставлю его обычный фтп клиент скачать, расскажу работает ли хоть он
PM MAIL   Вверх
xvr
Дата 2.6.2009, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Цитата(Owyn @ 2.6.2009,  16:02)
файрволла нету, по tcp винсок сервер\клиент от него файлы шли, на мини фпт самодельном классе тоже фигня, зависает приложение на 0 отправленных байтов 1го файла у него (и у пару других людей), но у большинства все ок, если заставлю его обычный фтп клиент скачать, расскажу работает ли хоть он

Обычный ftp клиент ниоткуда качать не надо, он есть в Windows свой (живет в %WINDOWS%\system32\ftp.exe)

PM MAIL   Вверх
xvr
Дата 2.6.2009, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Кстати, очень странная команда PORT у вашего друга.
Цитата

Jun 01 20:31:43  915  PORT 10,233,15,11,19,139
Это значит, что он собирается отправлять файл через IP 10.233.15.11 порт 5003. IP явно принадлежит локальной сетке и внешний ftp сервер из этого порта ничего забрать не сможет. Т.е. ваш друг сидит в локалке без внешнего статического IP. Наружу он лазить может (через NAT), а вот к нему достучаться не получится.
Попробуйте убрать флаг INTERNET_FLAG_PASSIVE.

PM MAIL   Вверх
Owyn
Дата 2.6.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



еще такое есть

Цитата

Jun 02 15:20:57  1096  230 Password Ok, User logged in  

Jun 02 15:20:57  1096  PORT 127,0,0,1,4,96

Jun 02 15:20:57  1096  200 Port command received  
Jun 02 15:20:57  1096  NLST 
Jun 02 15:20:58  1096  Unable to connect : Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.  
Jun 02 15:20:59  1096  425 Unable to open the data connection  



Цитата

Jun 02 16:17:37  1120  230 Password Ok, User logged in  

Jun 02 16:17:37  1120  PORT 77,79,145,3,5,154

Jun 02 16:17:37  1120  200 Port command received  
Jun 02 16:17:37  1120  NLST 
Jun 02 16:17:59  1120  Unable to connect : Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.  
Jun 02 16:17:59  1120  425 Unable to open the data connection  


Цитата

Jun 02 19:32:11  1147  230 Password Ok, User logged in  

Jun 02 19:32:11  1147  PORT 94,158,103,116,6,112

Jun 02 19:32:11  1147  200 Port command received  
Jun 02 19:32:11  1147  NLST 
Jun 02 19:32:32  1147  Unable to connect : Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.  
Jun 02 19:32:32  1147  425 Unable to open the data connection  


в первом случае ип вообще 127.0.0.1, в остальных же нормальный, но всеравно ошибка (с этими юзверями я не знаком, но у них тоже ошибка)

Это сообщение отредактировал(а) Owyn - 2.6.2009, 22:07
PM MAIL   Вверх
xvr
Дата 2.6.2009, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Цитата

в первом случае ип вообще 127.0.0.1, в остальных же нормальный, но всеравно ошибка (с этими юзверями я не знаком, но у них тоже ошибка)

А эти адреса совпадают с IP из строки Connection request accepted from xx.xx.xx.xx?
INTERNET_FLAG_PASSIVE убирать пробовали?

PM MAIL   Вверх
Owyn
Дата 2.6.2009, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



Цитата

А эти адреса совпадают с IP из строки Connection request accepted from xx.xx.xx.xx?

совпадают

флаг еще не пробовали убирать, тестер оффлайн пока
PM MAIL   Вверх
xvr
Дата 2.6.2009, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Цитата(Owyn @ 2.6.2009,  23:38)
Цитата

А эти адреса совпадают с IP из строки Connection request accepted from xx.xx.xx.xx?

совпадают

Значит кто то режет по дороге
Цитата

флаг еще не пробовали убирать, тестер оффлайн пока
Попробуйте, может помочь

PM MAIL   Вверх
Owyn
Дата 3.6.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



попробовал не помогло, но скачал он filezilla о норм загрузил файлы на сервер через неё =\
PM MAIL   Вверх
xvr
Дата 3.6.2009, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Цитата(Owyn @ 3.6.2009,  17:01)
попробовал не помогло, но скачал он filezilla о норм загрузил файлы на сервер через неё =\

А можно глянуть на лог сервера при закачке через filezilla ?

PM MAIL   Вверх
Owyn
Дата 3.6.2009, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



вот он
Цитата

[2009-06-03 17:52:14]:CONNECT [  1319] - Incoming connection request on interface 93.81.248.130
[2009-06-03 17:52:14]:CONNECT [  1319] - Connection request accepted from 77.243.100.173
[2009-06-03 17:52:14]:COMMAND [  1319] - USER 123
[2009-06-03 17:52:14]:  REPLY [  1319] - 331 User 123, password please

[2009-06-03 17:52:14]:COMMAND [  1319] - PASS ***********
[2009-06-03 17:52:14]:  REPLY [  1319] - 230 Password Ok, User logged in

[2009-06-03 17:52:14]:COMMAND [  1319] - CWD /ftproot
[2009-06-03 17:52:14]:  REPLY [  1319] - 250 Change directory ok

[2009-06-03 17:52:14]:COMMAND [  1319] - TYPE I
[2009-06-03 17:52:14]:  REPLY [  1319] - 200 Type Binary

[2009-06-03 17:52:14]:COMMAND [  1319] - PASV 
[2009-06-03 17:52:14]:  REPLY [  1319] - 227 Entering Passive Mode (93,81,248,130,5,4)

[2009-06-03 17:52:14]:COMMAND [  1319] - STOR av-38010.gif
[2009-06-03 17:52:14]:  REPLY [  1319] - 150 Opening data connection

[2009-06-03 17:52:14]: SYSTEM [  1319] - File transfer complete
[2009-06-03 17:52:14]:  REPLY [  1319] - 226 Transfer complete

PM MAIL   Вверх
xvr
Дата 3.6.2009, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Угу, работает в PASSIVE моде с портом на сервере.
В сорцах ошибка - флаг INTERNET_FLAG_PASSIVE задается в предпоследнем параметре функции InternetConnect, а не в FtpPutFile

PM MAIL   Вверх
Owyn
Дата 4.6.2009, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 11.5.2009

Репутация: нет
Всего: нет



dwFlags и dwContext перепутаны местами как я понял О_о *поменял их обратно, вот так
Код
FtpPutFile(hFtpSession, filetosend, filetosendto, INTERNET_FLAG_PASSIVE, FTP_TRANSFER_TYPE_BINARY)


но, все равно тоже самое... да и по логам почему то не видно что используется PASV O_o (а он вообще используеться...?)

до этого скрипта использовал свой фтп класс, но там точно тоже самое, виснет на STOR все, но там люди говорят это из за того что в классе только один сокет, а надо два и 
Цитата

Когда PORT команда посылается клиентом, вам необходимо coхранить значение в качестве callback address, а затем, когда STOR команда отправляется, создать новое соединение с тем callback address, а затем передавать данные на этот порт. Порт закрыт после отправки. Во время передачи FTP-сервер проверяет оригинальный socket для отмены команды.

а тут я уже не знаю >_<

его лог:
Цитата

Jun 04 13:31:18  1457  Incoming connection request on interface 93.81.248.130
Jun 04 13:31:18  1457  Connection request accepted from 77.243.100.173
Jun 04 13:31:18  1457  USER username
Jun 04 13:31:18  1457  331 User username, password please  
Jun 04 13:31:18  1457  PASS ***********
Jun 04 13:31:18  1457  230 Password Ok, User logged in  
Jun 04 13:31:18  1457  TYPE I
Jun 04 13:31:18  1457  200 Type Binary  
Jun 04 13:31:18  1457  PORT 10,233,15,11,19,137
Jun 04 13:31:18  1457  200 Port command received  
Jun 04 13:31:18  1457  STOR ftproot\screens\myfile.jpeg
Jun 04 13:31:40  1457  Unable to connect : Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.  
Jun 04 13:31:40  1457  425 Unable to open the data connection  



мой лог:
Цитата

Jun 04 13:28:21  1455  Incoming connection request on interface 93.81.248.130
Jun 04 13:28:21  1455  Connection request accepted from 93.81.248.130
Jun 04 13:28:21  1455  USER username
Jun 04 13:28:21  1455  331 User username, password please  
Jun 04 13:28:21  1455  PASS ***********
Jun 04 13:28:21  1455  230 Password Ok, User logged in  
Jun 04 13:28:21  1455  TYPE I
Jun 04 13:28:21  1455  200 Type Binary  
Jun 04 13:28:21  1455  PORT 93,81,248,130,6,236
Jun 04 13:28:21  1455  200 Port command received  
Jun 04 13:28:21  1455  STOR ftproot\screens\myfile.jpeg
Jun 04 13:28:21  1455  150 Opening data connection  
Jun 04 13:28:21  1455  File transfer complete
Jun 04 13:28:21  1455  226 Transfer complete  
Jun 04 13:28:22  1455  TYPE I
Jun 04 13:28:22  1455  200 Type Binary  
Jun 04 13:28:22  1455  PORT 93,81,248,130,6,240
Jun 04 13:28:22  1455  200 Port command received  
Jun 04 13:28:22  1455  STOR ftproot\info\myinfo.jpeg
Jun 04 13:28:22  1455  150 Opening data connection  
Jun 04 13:28:22  1455  File transfer complete
Jun 04 13:28:22  1455  226 Transfer complete  
Jun 04 13:28:23  1455  The connection was closed by the remote socket
Jun 04 13:28:23  1455  Connection terminated.

PM MAIL   Вверх
xvr
Дата 4.6.2009, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: нет
Всего: 223



Цитата(Owyn @ 4.6.2009,  12:51)
dwFlags и dwContext перепутаны местами как я понял О_о *поменял их обратно, вот так
Код
FtpPutFile(hFtpSession, filetosend, filetosendto, INTERNET_FLAG_PASSIVE, FTP_TRANSFER_TYPE_BINARY)


Нет, перепутанна функция, где надо ставить INTERNET_FLAG_PASSIVE
Делайте так:
Код

    hFtpSession = InternetConnect(hInternet,ftpserver , INTERNET_DEFAULT_FTP_PORT, user, pass, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
    if(    FtpPutFile(hFtpSession, filetosend, filetosendto, FTP_TRANSFER_TYPE_BINARY, 0) == TRUE){

Цитата

но, все равно тоже самое... да и по логам почему то не видно что используется PASV O_o (а он вообще используеться...?)
В этом и проблема - он не используется
Цитата

до этого скрипта использовал свой фтп класс, но там точно тоже самое, виснет на STOR все, но там люди говорят это из за того что в классе только один сокет, а надо два и 
Хоть десять - локальный порт на клиенте не доступен со стороны сервера  smile При PASV происходит наоборот - клиент открывает порт на сервере, этот порт доступен.

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.