LINUX.ORG.RU

ftp


0

0

соеднился с серваком получаю 220.
пишу
if (send (sd, login, sizeof (login), 0) == -1)
perror ("err:in sending login");
но сервер логин не получает как быть?

anonymous

может ты не являешся зарегистрированным пользователем на сервере? Может надо tacacs подкрутить, что бы ты получал 341? Убедись также что на сетевухе есть напряжение и ping 127.1 работает .. если нет то возможно сетевуха посылает битые фрэймы и сервер не может распознать в них логин .. и кстати длина логина случайно не 4? Вставь перед send, printf("plen = %d\n", sizeof(login)); если 4 то возможно его(логин) надо западить нулями до 8.

BTW: Если адрес сервера 127.127.0.2 - то ничего не поможет ..

удачи!

lg ★★
()

У меня такое тоже было. Все дело в том , что байты по сети передаются в неправильном порядке. Это известная ошибка в ядре. Пробуй на kernel mailing list запостить, там быстро подскажут что делать.

Dead ★★★★
()
Ответ на: комментарий от Dead

>что байты по сети передаются в неправильном порядке. Это известная ошибка в ядре.

Есть мнение что по сети байты передаются правильно а это как раз баг Интелевских процессоров. Вот на Sun-ах этого бага нету Для фикса этого багу существует специальный патч который вызывается функцией

htons()/htols()

обратно баг включается вызовом

ntohs()/ntohl() ;)

sS ★★★★★
()
Ответ на: комментарий от LONGOBARD

>это не баг, а просто архитектуры различные. Разный порядок байтов.

ГУСАРЫ !!! МОЛЧАТЬ !!! (c) Поручик Ржевский ;)

sS ★★★★★
()

В лбщем вот основные части кода мош что непрвильно?
rdda.sin_family = AF_INET;
rdda.sin_port = htons (port);
rdda.sin_addr.s_addr = inet_addr (rest);
if ((sd = socket (AF_INET, SOCK_STREAM, 0)) == -1)
{
perror ("err:in socket:");
exit (1);
}
if (connect (sd, (struct sockaddr *) &rdda, sizeof (rdda)) == -1) {
perror ("err:in connect"); }
if (send (sd, login, sizeof (login), 0) == -1)
perror ("err:in sending login");
В общем включил ethereal он показывает то что пакет с данными в сети, но только фтп его не как не обрабатывает. есть предложения?

anonymous
()
Ответ на: комментарий от anonymous

Насколько я помню на ftp рутом просто нельзя заходить - вот он тебя и отшивает.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.