Программный мост (между двумя устройствами (неважно какими))

Модератор: Модераторы разделов

Ответить
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Программный мост

Сообщение devilr »

Допустим, существуют два устройства /dev/device0 /dev/device1. Неважно, что это и куда подключено. Просто два устройства.
Возникла необходимость реализации программного моста между ними. Т.е. пишешь в первый - появляется во втором. И наоборот.
В гугле, в основном, про сетевые мосты, а вот как сделать простой?
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
semiconductor
Сообщения: 269
ОС: Да полно всяких

Re: Программный мост

Сообщение semiconductor »

devilr писал(а):
04.01.2018 18:40
Допустим, существуют два устройства /dev/device0 /dev/device1. Неважно, что это и куда поключено. Просто два устройства.
Возникла необходимость реализации программного моста между ними. Т.е. пишешь в первый - появляется во втором. И наоборот.
В гугле, в основном, про сетевые мосты, а вот как сделать простой?

Из файла в файл?
RTFM, изыди!
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Программный мост

Сообщение devilr »

Ну... любое устройство в linux есть файл.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
semiconductor
Сообщения: 269
ОС: Да полно всяких

Re: Программный мост

Сообщение semiconductor »

devilr писал(а):
04.01.2018 21:56
Ну... любое устройство в linux есть файл.

Умница! Уже половину задачи решил.
RTFM, изыди!
Спасибо сказали:
Kopilov
Сообщения: 947
ОС: [K]Ubuntu, Debian

Re: Программный мост

Сообщение Kopilov »

Возможно, выручит tee.
Мне помогло, когда надо было писать одновременно в пайп и на экран.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Программный мост

Сообщение devilr »

Kopilov писал(а):
05.01.2018 15:13
Возможно, выручит tee.
Мне помогло, когда надо было писать одновременно в пайп и на экран.

Не. Я про программную реализацию. Можно, конечно, решить задачу "в лоб": открыть оба файла на чтение/запись и в цикле читать/передавать данные между ними. Но, это как-то грубо, мне кажется.
Должен быть какой-то другой метод...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
anonymous.ru
Сообщения: 614

Re: Программный мост

Сообщение anonymous.ru »

cat /dev/device0 > /dev/device1
:drinks:
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Программный мост

Сообщение s.xbatob »

Для подобных вещей придуман unix domain и сокеты в нем. Только прямо такого там по-моему нет.
Спасибо сказали:
Аватара пользователя
ieleja
Сообщения: 307
ОС: Debian 9, macOS, Windows
Контактная информация:

Re: Программный мост

Сообщение ieleja »

вы как то сразу перешли в в высокий уровень абстракции

все ли что в

/dev/*

умеет делать все что другие устройства?
ad infinitum
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Программный мост

Сообщение devilr »

ieleja писал(а):
06.01.2018 00:23
вы как то сразу перешли в в высокий уровень абстракции

все ли что в

/dev/*

умеет делать все что другие устройства?

Ваша абстракция не ниже. :) Можете как то перефразировать вопрос?
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Программный мост

Сообщение Bizdelnick »

devilr
Может быть, лучше Вы перефразируете свой вопрос? Я не понял, чего Вы хотите.
devilr писал(а):
04.01.2018 18:40
пишешь в первый - появляется во втором. И наоборот.
и
devilr писал(а):
05.01.2018 15:29
открыть оба файла на чтение/запись и в цикле читать/передавать данные между ними
это несколько совсем разные вещи.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Программный мост

Сообщение devilr »

Ладно. Попробую переформулировать.
Есть два устройства. Потоковых. Относительно не быстрых. Нужно над данными, получаемыми из первого устройства, произвести некоторые действия и передать их на вход второго устройтсва. И наоборот.
Вариант с "открыть оба файла на чтение/запись и в цикле читать/передавать данные между ними" очень грубый.
Зарываться на уровень модулей ядра как то пока не хочется, но, если не будет другого выхода, то придется так...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Программный мост

Сообщение s.xbatob »

devilr
Ну, и в чем проблема? Простая задача. И лезть для ее решения на уровень ядра явный перебор.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Программный мост

Сообщение devilr »

s.xbatob писал(а):
06.01.2018 13:03
devilr
Ну, и в чем проблема? Простая задача. И лезть для ее решения на уровень ядра явный перебор.

Проблема в том, что хочется красивого кода. Или, хотя бы правильного с точки зрения ОС.
И решение "в лоб" как-то не очень под это определение подходит.
Впрочем, пока железа тоже нет. Пока приедет, может и найдется правильное решение...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Ответить