The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"socat, как оно это делает?"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "socat, как оно это делает?" +/
Сообщение от . (?), 21-Авг-21, 11:01 
>>>>> мне в программе нужно завернуть stdin/stdout в дескриптор чтобы через него можно
>>>>> было полноценно делать read/write, подскажите какой алгоритм действий?
>>>> socat так не делает.
>>>> Если ты имеешь в виду "bidirectional pipe", то Linux так не делает.
>>>> man 7 pipe. Можно в BSD.
>>>> Вообще толком объясни, что ты хочешь. Походу, ни разу не дескриптор (чего?).
>>> завернуть stdio/stdout в один дескриптор rw как?
>> https://man7.org/linux/man-pages/man3/stdout.3.html
> мне нужно !два! десткриптора stdin и stdout завернуть в один дескриптор, где
> там в вашем мане это?

тебе уже написали в первом посте. создаёшь дескриптор, на удобном механизме межпроцессорного взаимодействия (в общем случае unix socket), пишешь/читаешь в/из него. на другом конце перенаправляешь.

другой конец - варианты приседаний:
- select stdin/socket в своём процессе с таймаутом
- select stdin/socket в thread или fork
- 2 thread или 2 fork - раздельно stdin и socket

перенаправление:
- read socket -> write stdout
- read stdin -> write socket

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
socat, как оно это делает?, cods, 18-Авг-21, 14:13  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру