![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Принудительное "обновление" TServerSocket... [D5, D7]
maxistent © (2008-01-07 15:33:00)Приветствую всех ещё раз. Некоторое время назад я уже задавал здесь подобный вопрос, но пока нет однозначного ответа. Наверно стоит изменить формулировку вопроса? Попробую: Подскажите, как мне принудительно заставить компонент TServerSocket "проверить" входящие коннекты? т.е. нужно создать что-то вроде:
while true do
begin
ServerSocket1.RefreshConnections;
или
ServerSocket1.LookForConnections;
или
что-то ещё
end;
Без использования GetMessage, TranslateMessage, DispathMessage и т.д. И поместить эту процедуру в отдельный поток. Проверить, есть ли данные от клиента я могу примерно так:
ServerSocket1.Socket.Connections[0].Read(ServerSocket1.Socket.Connections[0].Soc ketHandle);
... а вот сам момент коннекта/дисконнекта уловить не могу :-(
Помогите, кто чем может...
maxistent (2008-01-08 20:14:00) [1]ясно. ладно, будем пробывать... спасибо.
MetalFan (2008-01-08 19:12:00) [2]
> если ошибка, то нет коннекта, если нет ошибки, то коннект
> соотв. есть?
ну типа того. только проанализировать надо тип ошибки
maxistent (2008-01-08 16:07:00) [3]
> при попытке чтения получишь ошибку, анализируй ее и делай
> выводы
т.е. Вы хотите сказать, что нужно постоянно делать ЧТЕНИЕ и смотреть, какой результат будет? т.е. если ошибка, то нет коннекта, если нет ошибки, то коннект соотв. есть?
> TServerSocket.ServerType := ctThreadBlocking;
Я в этом не силён :-( Можно простейший примерчик?
umbra (2008-01-08 14:36:00) [4]
> Без использования GetMessage, TranslateMessage, DispathMessage
> и т.д. И поместить эту процедуру в отдельный поток.
TServerSocket.ServerType := ctThreadBlocking;
MetalFan (2008-01-08 12:20:00) [5]при попытке чтения получишь ошибку, анализируй ее и делай выводы