Я пытаюсь использовать именованные каналы в C, и я сталкиваюсь с некоторыми трудностями. Что касается анонимных труб, я просто создаю канал с дескрипторами r/w, а затем закрываю противоположный конец каждый раз, когда хочу читать или писать. Это легко сделать, так как я могу просто открывать() и закрывать() другой конец каждый раз.Именованные трубы в c
С именованными каналами я немного смущен, я нашел инструкцию mkfifo()
, которая создает именованный канал, но не понимает, как правильно читать и писать.
Thanks
Ваш вопрос не ясен. 'open' никогда не используется с обычными (анонимными) трубами, поэтому мне интересно, делаете ли вы то, что думаете, что делаете. –
Возможно, вам не хватало того, что fifo нужно открывать с обоих концов одной записью и другим чтением. Любой вызов чтения/записи на fifo блокируется. Страница руководства находится здесь http://linux.die.net/man/3/mkfifo. В противном случае вы не задаете вопрос, просто заявляя о своей проблеме. Какой код содержит ваше письменное и что вызывает ваше замешательство? – vpit3833
Прочтите [Руководство Beej по Unix IPC] (http://beej.us/guide/bgipc/). – pmg