Конференция "Сети" » Принудительное "обновление" TServerSocket... [D5, D7]
 
  • maxistent © (07.01.08 15:33) [0]
    Приветствую всех ещё раз. Некоторое время назад я уже задавал здесь подобный вопрос, но пока нет однозначного ответа. Наверно стоит изменить формулировку вопроса? Попробую: Подскажите, как мне принудительно заставить компонент TServerSocket "проверить" входящие коннекты? т.е. нужно создать что-то вроде:

    while true do
    begin
    ServerSocket1.RefreshConnections;
    или
    ServerSocket1.LookForConnections;
    или
    что-то ещё
    end;


    Без использования GetMessage, TranslateMessage, DispathMessage и т.д. И поместить эту процедуру в отдельный поток. Проверить, есть ли данные от клиента я могу примерно так:

    ServerSocket1.Socket.Connections[0].Read(ServerSocket1.Socket.Connections[0].Soc ketHandle);


    ... а вот сам момент коннекта/дисконнекта уловить не могу :-(
    Помогите, кто чем может...
  • MetalFan © (08.01.08 12:20) [1]
    при попытке чтения получишь ошибку, анализируй ее и делай выводы
  • umbra © (08.01.08 14:36) [2]

    > Без использования GetMessage, TranslateMessage, DispathMessage
    > и т.д. И поместить эту процедуру в отдельный поток.


    TServerSocket.ServerType := ctThreadBlocking;

  • maxistent © (08.01.08 16:07) [3]

    > при попытке чтения получишь ошибку, анализируй ее и делай
    > выводы

    т.е. Вы хотите сказать, что нужно постоянно делать ЧТЕНИЕ и смотреть, какой результат будет? т.е. если ошибка, то нет коннекта, если нет ошибки, то коннект соотв. есть?


    > TServerSocket.ServerType := ctThreadBlocking;


    Я в этом не силён :-( Можно простейший примерчик?
  • MetalFan © (08.01.08 19:12) [4]

    > если ошибка, то нет коннекта, если нет ошибки, то коннект
    > соотв. есть?

    ну типа того. только проанализировать надо тип ошибки
  • maxistent © (08.01.08 20:14) [5]
    ясно. ладно, будем пробывать... спасибо.
 
Конференция "Сети" » Принудительное "обновление" TServerSocket... [D5, D7]
Есть новые Нет новых   [134431   +15][b:0][p:0.001]