Сеть Windows с использованием только фреймов Ethernet - PullRequest
5 голосов
/ 01 апреля 2009

Я делаю проект, в котором я должен написать сетевую библиотеку для устройства, подключенного к машине с Windows. Сложность состоит в том, что я могу общаться с устройством только через Ethernet-фреймы. Так что нет TCP / UDP / IP вообще. Я не думаю, что подход bind / listen / accept может быть применен здесь, но, возможно, я ошибаюсь. Кроме того, здесь нет маршрутизации или переключения.

У меня есть несколько вопросов. Как использовать сокет для связи с этим устройством? Есть ли в winsock поддержка только фреймов? Я не смог найти много ресурсов по этому вопросу. У кого-нибудь есть идеи о том, как мне поступить?

Является ли использование сокетов хорошей идеей или я могу просто отправить информацию с соответствующими заголовками?

Ответы [ 3 ]

2 голосов
/ 01 апреля 2009

Используйте WinPCap , у него есть API для отправки и прослушивания необработанных данных.
С его помощью вы можете создать свой коммуникационный слой.

1 голос
/ 02 апреля 2009

Дайте WinAoE-код , чтобы посмотреть - он говорит, что позволяет Windows общаться с устройствами ATA через Ethernet, что означает, что он должен общаться без каких-либо верхних уровней сетевого стека.

Отредактировано:

Насколько я могу судить, если вы хотите отправлять необработанные кадры Ethernet, вам нужны NdisSend и друзья.

0 голосов
/ 30 августа 2011

Помимо winpcap и NDIS, вы также можете взглянуть на необработанные сокеты, которые являются стандартной частью Windows API и не требуют написания кода драйвера http://msdn.microsoft.com/en-us/library/ms740548(v=vs.85).aspx.

...