Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TidTCPServer [D7, WinXP]


аноним ©   (2006-02-23 11:02:00) 

Событие OnException:
получаю exception "Connection Closed Gracefully." при отсоединении сервера. что значит? как бороться? или все нормально и в порядке вещей?

Вопрос №2: сервер, на нем висит масса клиентов, сервер вырубается через Active:=False. в итоге уходит в завес не надолго и вылетает с ошибкой таймаут мол при завершении нити... как быть? (


Eraser   (2006-02-23 14:35:00) [1]


> аноним   (23.02.06 11:02)

Очень советую почитать книгу Indy In Depth.
Вот тут можно скачать её русскую версию.
http://podgoretsky.com/cgi-bin/dlcounter/npscnt?file=http://podgoretsky.com/ftp/Docs/Internet/IntroIndy/IndyInDepth.pdf&file_id=IndyInDepth

Там подробно описано исключение "Connection Closed Gracefully" и как с ним бороться.


umbra   (2006-02-23 13:13:00) [2]

по смыслу переходить на 10 стоит, но готовый код, скорее всего, придется править, потому что в 10 много чего поменялось.
а по теме - похоже, поможет только отладка


аноним   (2006-02-23 12:47:00) [3]

попутно вопрос, что посоветуете лучше использовать? Indy 9 или все-таки пора переходить на 10тку?...


аноним   (2006-02-23 12:41:00) [4]

TList, хранятся указатели на экземпляры класса TClient со всеми параметрами, что надо. там косяка нету проверял...


umbra   (2006-02-23 12:32:00) [5]

а что такое   Clients?


аноним   (2006-02-23 12:18:00) [6]

umbra ©   (23.02.06 12:17) [3]
в смысле что ситуация не изменилась.

см. [1]:
в итоге уходит в завес не надолго и вылетает с ошибкой таймаут мол при завершении нити...


umbra   (2006-02-23 12:17:00) [7]

в каком смысле не канает? ошибки? если да, то какие?


аноним   (2006-02-23 11:57:00) [8]

пробовал. не канает (

procedure TfrmMain.DisconnectAll;
var
i: Integer;
begin
for i:=0 to Clients.Count-1 do
begin
 TIdPeerThread(TCPClient(Clients[i]).Thread).Connection.Disconnect;
 TIdPeerThread(TCPClient(Clients[i]).Thread).Terminate; // only test
end;
end;


хотя отключение работает нормально. проверял.


umbra   (2006-02-23 11:50:00) [9]


> "Connection Closed Gracefully."

все нормально, это значит, что другая сторона закрыла соединение

№2

может быть, таймаут увеличить? а по хорошему надо отключать всех клиентов по одному.


Наверх

Титульная страница Поиск, карта сайта Написать письмо