|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.09.2013, 16:01 | #1 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
TIdTCPServer грузит процесоор
Добрый день!
Вопрос такой: Сервер и клиент в одном процессе. При подключении клиента (idtcpclient) процесс начинает жрать 50% процессорного времени (2хядерный проц). С чем это может быть связано? Обработчик OnExecute пустой... Пишу с работы, нет возможности описать всё подробно... Хотел бы услышать ваши предположения, пока не разберусь сам) |
12.09.2013, 16:22 | #2 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
код показывай
|
12.09.2013, 16:34 | #3 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
Покажу вечером, пока описываю общими словами, проблему телепатов понимаю, поэтому прошу какого-нить намека на известные грабли при работе с idtcp, при которых поток уходит в завис и жрет 100% времени процесса.
|
12.09.2013, 23:02 | #4 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
Делаю классы-обертки для вышеуказанных компонентов. Для удобства и унификации для последующих приложений. Код примитивный (в данном случае), типа IdTCPServer.Active:=true, IdTCPClient.Connected;
Похоже, что это проблема TIndy, т.к. запустил откомпиленные exe-шники из примеров по indy (чат) - та же самая картина - при подключении клиента сервер начинает жрать машинное время. Кто что думает по этому поводу? |
13.09.2013, 08:09 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
13.09.2013, 11:52 | #6 | |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
Версия 10, rad xe4
Может быть нужно как-то управлять выполнением потоков? Очень похоже на то, что при подключении клиента в новом потоке начинает выполняться в бесконечном цикле OnExecute со своими проверками наличия соединения и т.п., что и приводит к сабжу. Хотя, в принципе, так и задумано... В общем, я в раздумье, куда копать. ps. У меня обработчик OnExecute пустой. pps. Появилась идея отбилдить в release конфигурации, может поможет. Да ну нафиг, Stilet, я же писал выше: Цитата:
Эти самые экзешники проверял на разных компах - результат тот же самый. Насколько я понял, есть такой код: Код:
Код:
Последний раз редактировалось Stilet; 14.09.2013 в 10:09. |
|
14.09.2013, 10:17 | #7 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
14.09.2013, 11:26 | #8 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
Stilet, спасибо, о sleep я как-то не подумал)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблеми з TIdTcpServer(Delphi); | Balanar | Помощь студентам | 0 | 10.07.2011 02:33 |
Почему tIdTCPServer железно цепляется к порту | Altera | Работа с сетью в Delphi | 13 | 06.01.2011 05:58 |
Логироване работы TIdTCPServer, проблема с синхронизацией | Altera | Работа с сетью в Delphi | 0 | 05.09.2010 19:42 |
Проблема с кодировкой в TIdTCPServer&TIdTCTClient | RNT | Работа с сетью в Delphi | 6 | 08.07.2009 14:34 |
Проблема с TidTCPServer | andrey4623 | Работа с сетью в Delphi | 3 | 18.08.2008 09:15 |