Авторские статьи УЧИМСЯ ИСПОЛЬЗОВАТЬ WINSOCK. ЧАСТЬ I.

Discussion in 'Статьи' started by slesh, 5 Jun 2009.

  1. ntldr

    ntldr Elder - Старейшина

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    На windows 7 существуют варианты использовать сырые сокеты? (без всяких winpcap)
     
  2. #Specan

    #Specan New Member

    Joined:
    16 Feb 2010
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Уважаемый slesh, я вижу вы неплохой специалист в области сетевого программирования.
    Если знаете, подскажите пожалуйста такой вопрос:

    В PHP сокеты можно сравнить с файлами и там есть такая замечательная функция feof, которая возвращает true если все данные считаны и соответственно false если нет.
    Есть ли аналог подобной функции в Delphi.

    Теперь зачем мне это:
    Дело в том, что я создаю небольшой TCP клиент, и я хочу не разрывать соединение.
    Вот мне как раз и нужно знать получил ли я все данные или нет.
    Если тупо использовать recv и ждать, когда она вернёт 0 - это не вариант.
    Она просто тупо зависнет если я её вызову после приёма всех данных.
    Вот мне и нужнол решение.
    Подскажите, если знаете.
    Заранее спасибо.
     
  3. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    #Specan, немного неправильно.
    То есть сервак должен закрыть соединение, что бы данная функция возвратила True.
    Лично я думаю, что вы должны использовать какие то особенности своего внутреннего протокола. Например, при получении определенных данных перестать читать из сокета.

    Хотя я точно не уверен насчет всего этого, поэтому если что, пусть slesh ответит. Он укажет более правильный вариант.
     
  4. #Specan

    #Specan New Member

    Joined:
    16 Feb 2010
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Спасибо за ответ!
    Получается php feof можно сравнить с delphi sellect?
     
  5. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Получается, что в некотором смысле да.