Как получить данные из Ethernet платы непосредственно?

Тема в разделе "WASM.BEGINNERS", создана пользователем Fantom4, 11 апр 2007.

  1. Fantom4

    Fantom4 New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    18
    Можно ли получить данные из Ethernet платы непосредственно, минуя механизм API Windows (перехватить их..., обработчиком прерываний...)? Где почитать, как взаимодейсвует драйвер сетевухи с оськой? Кто-нить поделитесь ссылой! Пишу программу, критичную по времени. Посылаю через API send, принимаю recv - а данные начинают идти, когда заблагоразсудится диспетеру задач винды. Поэтому задержка получается неравномерной от 3 до 100ms. Я конечно понимаю, что винда - не ось реального времени, но все же хотелось бы как-нить, хотя бы частично, обойти этот момент.
     
  2. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    возьми реалтаймовую ось и не парься
     
  3. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    Для начала попробуй отключить в винде все лишние службы и поднять себе приотитет.
    Возможно тебе и этого хватит.
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    ИМХО от того что вы минуете вызов апи и пошлете пакеты напрямую - измениться не много, но всеже - можно копнуть в сторону NDIS и TDI (ключи по гуглу). А еще ради интереса сравни скорость посылки через WinPCAP. Там будет побыстрее - я уверен.
    Здесь верный совет дал k3internal. Да и они есть в опенсурс (SunLinux если память не изменяет, является реалтайм ос), а париться и что-то изменять\патчить в ядре винды , неблагородное дело.
     
  5. Fantom4

    Fantom4 New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    18
    Не могу взять реалтаймовою ось - моя программа - это "плагин" к существующей для Windows. Поднятие приоритета пробовал - на пол-минуты дольше работает без глюков, а дальше то же самое. Вообще, если б можно было управлять диспетчером задач (ДЗ) (в смысле что бы я мог передавать управление задачам без него), то это бы мне оччень кардинально помогло.Другой вариант - как-то заставить ДЗ выделять задачам строго одинаковые временные интервалы - аппаратная привязка к времени у меня есть.
     
  6. Fantom4

    Fantom4 New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    18
    Прочитал про RTX, надстройка в Windows для переделки ее в риал-тайм. Щас пробую разобраться, может быть это то что мне надо.