Как открыть последовательный порт с перевернутыми линиями чтения/записи?

Я знаю, как открыть последовательный порт с помощью функции «открыть»:

open("/dev/portname", flags)

Но я хочу, чтобы две программы открывали этот порт, но с обратными линиями чтения/записи. Например, когда программа 2 что-то записывает в порт, программа 1 может это прочитать.


person kptlronyttcna    schedule 22.01.2017    source источник
comment
И как последовательный порт связан с IPC между некоторыми программами?   -  person 0andriy    schedule 22.01.2017
comment
Но именно так работают последовательные порты: одна программа записывает в свой конец последовательного соединения, а другая читает из него. Не могли бы вы рассказать о своей настройке и о том, чего вы хотите достичь.   -  person Some programmer dude    schedule 22.01.2017
comment
'Я хочу, чтобы этот порт открывали две программы -- Две программы на одном компьютере? Похоже, вы задаете вопрос XY.   -  person sawdust    schedule 23.01.2017


Ответы (2)


Если вы используете Unix-подобную операционную систему и вам не нужна полная семантика последовательного порта, именованные каналы могут быть очень полезны для подобных вещей.

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

И посмотрите связанный с этим вопрос "Виртуальный последовательный порт для Linux", который механизм StackOverflow уже нашел для вас.

person Steve Summit    schedule 22.01.2017

Обычно вы не можете сделать это в программном обеспечении.

Такие вещи обычно выполняются аппаратно, и именно для этого подходят перекрестные кабели и «нуль-модемные» кабели.

person tofro    schedule 22.01.2017