![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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
может быть, таймаут увеличить? а по хорошему надо отключать всех клиентов по одному.