Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Вниз

CONNECTION CLOSED GRACEFULLY   Найти похожие ветки 

 
Pul   (2005-10-06 12:25) [0]

Использую Indy TIdFTP.
Возникает ошибка при попытке поключения. При этом с помощью того же даже Far"a подключиться можно без проблем. Подскажите чем это лечится?


 
Андрей Жук ©   (2005-10-06 13:06) [1]

А ты уверен, что это ошибка?
Все нормально, тебе сообщили что ты подключился


 
Pul   (2005-10-06 13:12) [2]

Indy через Exception мне сообщает, что я подключился?...))

а как быть со словом "CLOSED"?


 
Digitman ©   (2005-10-06 13:25) [3]


> Pul   (06.10.05 12:25)  


ой врешь ведь !)

НЕ может такая ошибка возникнуть при подключении !

ты сам посуди - как может быть закрыто (CLOSED) соединение, если оно только еще устанавливается ? т.е. в дан.момент происходит попытка подключения, которая либо закончится успехом либо не успехом ?

о закрытии соединения следует вести речь лишь ПОСЛЕ того как соединение ранее было успешно установлено !

так что не выдумывай не былиц и смотри у себя там в коде, ЧТО же ты "ляпнул" серверу уже ПОСЛЕ того как соединение с ним было установлено, в рез-те чего сервер, попросту не поняв посланной тобой ему галиматьи, на полном своем праве закрыл соединение по своей инициативе.


 
Pul   (2005-10-06 13:50) [4]


> Digitman ©   (06.10.05 13:25) [3]


> НЕ может такая ошибка возникнуть при подключении !

Логично
Просто процедура отправки тестировалась на выделенке и там проблем не возникало.

> в рез-те чего сервер, попросту не поняв посланной тобой
> ему галиматьи

процедура работает нормально.


 
Pul   (2005-10-06 13:51) [5]

(продолжение)

проблемы возникли на диалапе.


 
Digitman ©   (2005-10-06 14:29) [6]

да где бы они ни возникали - к моменту собственно коннекта они не имеют никакого отношения

механизм коннекта в дан.случае в конечном итоге сводится к вызову WinsockAPI-ф-ции connect(), среди кодов ее ошибок НЕТ кода WSAECONNRESET, который собственно и интерпретируется Инди-компонентом как "CONNECTION CLOSED GRACEFULLY"

зато сей код фигурирует среди кодов отказа WinsockAPI-ф-ций send() и recv(), к вызову которых в конечном счете сводятся любые (явные или неявные) вызовы методов приема/передачи Инди-компонентов, использующих TCP... вызовы же send() и recv() бессмысленны без предыдущего успешного выполнения ф-ции connect()..

отсюда прямой вывод - коннект был выполнен успешно и был разорван по инициативе сервера, например, в рез-те получения им от тебя как клиента галиматьи, не соответствующей FTP-протоколу.


 
Pul   (2005-10-06 15:31) [7]


> Digitman ©   (06.10.05 14:29) [6]


Читай выше:

> процедура отправки тестировалась на выделенке и там
> проблем не возникало.


 
Андрей Жук ©   (2005-10-06 15:39) [8]

procedure TIdIOHandler.RaiseConnClosedGracefully;
begin
 (* ************************************************************* //
 ------ If you receive an exception here, please read. ----------

 If this is a SERVER
 -------------------
 The client has disconnected the socket normally and this exception is used to notify the
 server handling code. This exception is normal and will only happen from within the IDE, not
 while your program is running as an EXE. If you do not want to see this, add this exception
 or EIdSilentException to the IDE options as exceptions not to break on.

 From the IDE just hit F9 again and Indy will catch and handle the exception.

 Please see the FAQ and help file for possible further information.
 The FAQ is at http://www.nevrona.com/Indy/FAQ.html

 If this is a CLIENT
 -------------------
 The server side of this connection has disconnected normaly but your client has attempted
 to read or write to the connection. You should trap this error using a try..except.
 Please see the help file for possible further information.

 // ************************************************************* *)
 raise EIdConnClosedGracefully.Create(RSConnectionClosedGracefully);
end;


 
Андрей Жук ©   (2005-10-06 15:40) [9]

Обращаю внимание на
This exception is normal and will only happen from within the IDE, not
while your program is running as an EXE.


 
Digitman ©   (2005-10-06 16:04) [10]


> на выделенке


да по колено, выделенка там у тебя, или отделенка, или хренделенка !)

это НЕ имеет к сабжу никакого отношения !

ошибка присутствует в ТВОЕМ в алгоритме, если твой алгоритм не учитывает особенностей работы при любых сетевых условиях.

не дождался какого-то ответа от сервера и ляпнул ему вместо ожидаемой им реакции на ответ совершенно иное ? заполучи от сервера дисконнект !) .. имеет полное право ! .. ибо не обязан он твои ошибки исправлять)



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
3-1132729810
syte_ser78
2005-11-23 10:10
2006.01.22
Помогите с написанием запроса


4-1131958325
Чапаев
2005-11-14 11:52
2006.01.22
Отловить момент запуска приложений


2-1136591876
Majesto
2006-01-07 02:57
2006.01.22
Вопрос по mySQL


3-1132681869
vladik
2005-11-22 20:51
2006.01.22
сколько записей обработано запросом


2-1136301078
frEE)styler
2006-01-03 18:11
2006.01.22
Не получается вызвать процедуру!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский