Текущий архив: 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.45 MB
Время: 0.015 c