Программный мост (между двумя устройствами (неважно какими))
Модератор: Модераторы разделов
Программный мост
Допустим, существуют два устройства /dev/device0 /dev/device1. Неважно, что это и куда подключено. Просто два устройства.
Возникла необходимость реализации программного моста между ними. Т.е. пишешь в первый - появляется во втором. И наоборот.
В гугле, в основном, про сетевые мосты, а вот как сделать простой?
Возникла необходимость реализации программного моста между ними. Т.е. пишешь в первый - появляется во втором. И наоборот.
В гугле, в основном, про сетевые мосты, а вот как сделать простой?
- semiconductor
- Сообщения: 271
- ОС: Да полно всяких
Re: Программный мост
devilr писал(а): ↑04.01.2018 18:40Допустим, существуют два устройства /dev/device0 /dev/device1. Неважно, что это и куда поключено. Просто два устройства.
Возникла необходимость реализации программного моста между ними. Т.е. пишешь в первый - появляется во втором. И наоборот.
В гугле, в основном, про сетевые мосты, а вот как сделать простой?
Из файла в файл?
RTFM, изыди!
Re: Программный мост
Ну... любое устройство в linux есть файл.
- semiconductor
- Сообщения: 271
- ОС: Да полно всяких
Re: Программный мост
Возможно, выручит tee.
Мне помогло, когда надо было писать одновременно в пайп и на экран.
Мне помогло, когда надо было писать одновременно в пайп и на экран.
Re: Программный мост
Не. Я про программную реализацию. Можно, конечно, решить задачу "в лоб": открыть оба файла на чтение/запись и в цикле читать/передавать данные между ними. Но, это как-то грубо, мне кажется.
Должен быть какой-то другой метод...
Re: Программный мост
Для подобных вещей придуман unix domain и сокеты в нем. Только прямо такого там по-моему нет.
Re: Программный мост
вы как то сразу перешли в в высокий уровень абстракции
все ли что в
/dev/*
умеет делать все что другие устройства?
все ли что в
/dev/*
умеет делать все что другие устройства?
ad infinitum
Re: Программный мост
Ваша абстракция не ниже. Можете как то перефразировать вопрос?
- Bizdelnick
- Модератор
- Сообщения: 20797
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Программный мост
devilr
Может быть, лучше Вы перефразируете свой вопрос? Я не понял, чего Вы хотите.
Может быть, лучше Вы перефразируете свой вопрос? Я не понял, чего Вы хотите.
и
это несколько совсем разные вещи.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Программный мост
Ладно. Попробую переформулировать.
Есть два устройства. Потоковых. Относительно не быстрых. Нужно над данными, получаемыми из первого устройства, произвести некоторые действия и передать их на вход второго устройтсва. И наоборот.
Вариант с "открыть оба файла на чтение/запись и в цикле читать/передавать данные между ними" очень грубый.
Зарываться на уровень модулей ядра как то пока не хочется, но, если не будет другого выхода, то придется так...
Есть два устройства. Потоковых. Относительно не быстрых. Нужно над данными, получаемыми из первого устройства, произвести некоторые действия и передать их на вход второго устройтсва. И наоборот.
Вариант с "открыть оба файла на чтение/запись и в цикле читать/передавать данные между ними" очень грубый.
Зарываться на уровень модулей ядра как то пока не хочется, но, если не будет другого выхода, то придется так...
Re: Программный мост
devilr
Ну, и в чем проблема? Простая задача. И лезть для ее решения на уровень ядра явный перебор.
Ну, и в чем проблема? Простая задача. И лезть для ее решения на уровень ядра явный перебор.
Спасибо сказали:
Re: Программный мост
Проблема в том, что хочется красивого кода. Или, хотя бы правильного с точки зрения ОС.
И решение "в лоб" как-то не очень под это определение подходит.
Впрочем, пока железа тоже нет. Пока приедет, может и найдется правильное решение...