Потоковая передача данных между двумя компьютерами в C#, без IP-сети
Для проекта, который я делаю, мне нужно передавать данные с одного компьютера с Windows на другой без использования IP-сети (например, с использованием сшитого кабеля Ethernet).
Потоковое приложение должно быть написано на C#, хотя я, возможно, могу обойтись без C# обертки, если это необходимо.
Я рассмотрел кабели USB и Firewire, но пока не нашел драйверов для отправки пользовательских данных через них.
Кто-то пробовал это раньше или знает, куда идти? Любое предложение будет оценено!
Редактировать Скорость соединения предпочтительно должна быть близка к быстрому Ethernet (100 Мбит / с). Для упомянутых кабелей это не должно быть проблемой (USB 2.0 - 480 Мбит / с, Firewire800 - 800 Мбит / с).
1 ответ
Я выбрал другой подход, но для тех, кто заинтересован, я могу поделиться результатами своего исследования. Я нашел 3 потенциальных решения с разными уровнями затрат.
Используя кабель связи USB. Для этого требуется соединительный кабель USB 2.0 (15–40 долл. В зависимости от качества) и оболочка для стандартного драйвера Windows. Эта обертка может быть реализована с использованием LibUsbDotNet.
Использование FireWire. Для этого требуется стандартный кабель FireWire. Должен быть реализован пользовательский драйвер, для которого я нашел только один SDK под названием FireAPI. API очень низкого уровня, и глубокое знание FireWire является обязательным. Лицензионный сбор за этот SDK составляет 450 долларов.
Использование отражающей памяти. Это требует двух пользовательских карт PCI и соответствующего провода. Карты PCI будут автоматически копировать предопределенную область оперативной памяти друг с другом с очень низкой задержкой. Этот подход, безусловно, самый простой, но и самый дорогой. Самый дешевый вариант, который я нашел от Dolphinics, все еще стоит около 1500 долларов за все решение.