URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4979
[ Назад ]

Исходное сообщение
"датаграмный pipe"

Отправлено Strijar , 27-Дек-05 13:55 
Добрый день!

Задача - есть два процесса которые передают данные третьему. Pipe не подходят потому как надо передавать пакетами разной длинны. Пробую сделать через неименованые сокеты socketpair(PF_UNIX, SOCK_DGRAM, 0, sock_pipe) пишу send(sock_pipe[0]..) а читаю recv(sock_pipe[1]..). И получается так что читаются пакеты отправленые только из какого то одного процесса, хотя ошибок при send нет - отправляется именно столько сколько и отправляю.

Подскажите где засада?


Содержание

Сообщения в этом обсуждении
"датаграмный pipe"
Отправлено Strijar , 27-Дек-05 15:52 
Извиняюсь, моя ошибка - socketpair работает.

теперь вопрос такой - как наследуется сокет после fork? Если предок прочитает данные, потом их уже не получит из того же сокета? Про MSG_PEEK уже почитал, пока не получается его использовать.