Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

TServerSocket внутри COM-сервера.   Найти похожие ветки 

 
WondeRu ©   (2006-03-10 09:23) [0]

Здравствуте!

Создаю клиент с помощью TClientSocket (ClientType = ctBlocking) и сервер TServerSocket (ServerType = stNonBlocking). Если TServerSocket использовать в обычном приложении, то все работает нормально, а внутри COM-сервера (dll-библиотека, tmFree) отказывается работать. При этом еще и клиент зависает. Проясните, пожалуйста, ситуацию, как в таком случае избавиться от проблемы?


 
Сергей М. ©   (2006-03-10 09:47) [1]

При stNonBlocking серверный компонент создает окно, которому впоследствии WinSock-подсистемой адресуются сообщения о трансп.событиях гнезд, созданных сервером.

Раз есть окно, значит в потоке его создавшем должен быть организован цикл ожидания/выборки/диспетчеризации оконных сообщений.

У тебя его, этого цикла, по всей видимости нет, потому сервер и не работает как положено.

Либо организуй цикл либо используй stThreadBlocking.


 
WondeRu ©   (2006-03-10 09:52) [2]

Сергей М. ©   (10.03.06 9:47) [1]
будут ли проблемы с TIdTCPServer? создает ли он окно?


 
Сергей М. ©   (2006-03-10 09:56) [3]


> WondeRu ©   (10.03.06 09:52) [2]


> будут ли проблемы с TIdTCPServer? создает ли он окно?


В этом плане TIdTCPServer не создаст проблемы - окон он не создает, ибо код компонента изначально разрабатывался как мультиплатформенный.


 
Сергей М. ©   (2006-03-10 09:59) [4]


> WondeRu


Работа TServerSocket в режиме stThreadBlocking концептуально не отличается от работы TIdTCPServer.


 
WondeRu ©   (2006-03-10 10:12) [5]

Сергей М. ©   (10.03.06 9:59) [4]
сейчас прочел в Indy in Depth, что в инди есть коммнданые обработчики :) то что доктор прописал)


 
WondeRu ©   (2006-03-10 15:51) [6]

Короче, с инди все заработало так как надо :)  Спасибо за ответы!



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

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
15-1149295871
Коды
2006-06-03 04:51
2006.07.16
Что есть виндоссовместимая ОС миниморум?


1-1148994038
TSa
2006-05-30 17:00
2006.07.16
запись в ini файл с правами пользоваля


4-1144095343
Turbid
2006-04-04 00:15
2006.07.16
Проблемма с глобальными переменными в процедуре хука


15-1150688558
Kerk
2006-06-19 07:42
2006.07.16
Что такое FireBird


15-1149946886
Ламот
2006-06-10 17:41
2006.07.16
Диск D: был да сплыл...