Вместо того, чтобы использовать неназванные каналы, вы можете рассмотреть альтернативный механизм для межпроцессного взаимодействия, такой как использование FIFO, очереди сообщений или сокета с использованием дейтаграмм (то есть UDP), который позволил бы вамзаписать «сообщение» в коммуникационный буфер, а затем попросить другого потомка прочитать сообщение, посмотреть, не предназначено ли оно для них, а если нет, попросить его поместить его обратно в буфер связи, чтобы другой дочерний элемент мог его прочитать.В противном случае, если сообщение предназначено для них, они принимают его.
Ваше сообщение может быть struct
, которое содержит идентификатор отправителя, идентификатор получателя, а затем некоторый буфер для хранения сообщения, будь то строковый тип и т. Д.
Буфер связиможет быть установлен родителем и унаследован детьми.