Перейти к содержанию
    

Передача данных через 1Gbit Ethernet по прерываниям

Здраствуйте.

 

Есть устройство которае соединено с компом через 1Gbit Ethernet. Устройство собирает данные и отсылает в комп. WinXp/7

Я хочу чтоб было так:

1) Комп отсылает команду на начало сбора

2) Устройство начинает собирать данные и отсылать их в комп

3) Прикладная программа никак не реагирует пока данные отсылаются

4) Данные кладутся драйвером в оперативную память

5) По окончанию сбора устройство шлет уведомление об окончании сбора

6) Драйвер через прерывание уведомляет прикладную пограмму об окончании сбора

7) Прикладная программа забирает данные

 

Я слабо представляю работу сетевой системы Windows и не представляю как подступиться к проблеме.

Как понимаю есть драйвер сетевухи. А с ним можно взаимодействовать через NDIS.

Может ли пользовательская программа это сделать или для работы через NDIS надо еще один драйвер писать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здраствуйте.

 

Есть устройство которае соединено с компом через 1Gbit Ethernet. Устройство собирает данные и отсылает в комп. WinXp/7

Я хочу чтоб было так:

1) Комп отсылает команду на начало сбора

2) Устройство начинает собирать данные и отсылать их в комп

3) Прикладная программа никак не реагирует пока данные отсылаются

4) Данные кладутся драйвером в оперативную память

5) По окончанию сбора устройство шлет уведомление об окончании сбора

6) Драйвер через прерывание уведомляет прикладную пограмму об окончании сбора

7) Прикладная программа забирает данные

 

Я слабо представляю работу сетевой системы Windows и не представляю как подступиться к проблеме.

Как понимаю есть драйвер сетевухи. А с ним можно взаимодействовать через NDIS.

Может ли пользовательская программа это сделать или для работы через NDIS надо еще один драйвер писать?

 

Это определяется возможностями устройства.

 

Пишу похожую программу и на комп и на устройство.

На устройстве делаю telnet server на основе lwip

 

Прикладная программа- включает в себя telnet клиент, который в ascii режиме обменивается данными с устройством.

 

На PC(windows или Linux) программа на QT пишется по книжкам "программирование сокетов";

Условная компиляция #ifdef LINUX #ifdef WINDOWS

 

Драйвер не пишется.

 

Работаем на обоих машинах (device, windows, linux) через tcp-ip стек.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я слабо представляю работу сетевой системы Windows и не представляю как подступиться к проблеме.

Как понимаю есть драйвер сетевухи. А с ним можно взаимодействовать через NDIS.

Может ли пользовательская программа это сделать или для работы через NDIS надо еще один драйвер писать?

в 99% случаев для этого драйвер не нужен.

посмотрите http://www.winpcap.org/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...