Потоковая передача данных между двумя компьютерами в C#, без IP-сети

Для проекта, который я делаю, мне нужно передавать данные с одного компьютера с Windows на другой без использования IP-сети (например, с использованием сшитого кабеля Ethernet).

Потоковое приложение должно быть написано на C#, хотя я, возможно, могу обойтись без C# обертки, если это необходимо.

Я рассмотрел кабели USB и Firewire, но пока не нашел драйверов для отправки пользовательских данных через них.

Кто-то пробовал это раньше или знает, куда идти? Любое предложение будет оценено!

Редактировать Скорость соединения предпочтительно должна быть близка к быстрому Ethernet (100 Мбит / с). Для упомянутых кабелей это не должно быть проблемой (USB 2.0 - 480 Мбит / с, Firewire800 - 800 Мбит / с).

1 ответ

Решение

Я выбрал другой подход, но для тех, кто заинтересован, я могу поделиться результатами своего исследования. Я нашел 3 потенциальных решения с разными уровнями затрат.

  1. Используя кабель связи USB. Для этого требуется соединительный кабель USB 2.0 (15–40 долл. В зависимости от качества) и оболочка для стандартного драйвера Windows. Эта обертка может быть реализована с использованием LibUsbDotNet.

  2. Использование FireWire. Для этого требуется стандартный кабель FireWire. Должен быть реализован пользовательский драйвер, для которого я нашел только один SDK под названием FireAPI. API очень низкого уровня, и глубокое знание FireWire является обязательным. Лицензионный сбор за этот SDK составляет 450 долларов.

  3. Использование отражающей памяти. Это требует двух пользовательских карт PCI и соответствующего провода. Карты PCI будут автоматически копировать предопределенную область оперативной памяти друг с другом с очень низкой задержкой. Этот подход, безусловно, самый простой, но и самый дорогой. Самый дешевый вариант, который я нашел от Dolphinics, все еще стоит около 1500 долларов за все решение.

Другие вопросы по тегам