Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > socketpair(2) |
Автор: GrayCardinal 7.5.2008, 14:14 |
САБЖ - для чего нужен сабж ? |
Автор: JackYF 7.5.2008, 19:11 |
Предположу, что для общения между тредами одного и того же приложения, учитывая то, что man 2 socketpair тип сокетов может быть только AF_UNIX. |
Автор: GrayCardinal 7.5.2008, 20:04 |
JackYF, ОДнако странно. Чтобы тредам что-то передать имеется тыща и один более рациональный способ. На кой надо сокеты ? |
Автор: MAKCim 7.5.2008, 20:06 |
JackYF, GrayCardinal, для того же, для чего и pipe() JackYF, потоков в Linux нет ![]() |
Автор: JackYF 7.5.2008, 22:22 |
Не придирайся ![]() З.Ы. Я угадал насчёт применения? ![]() |
Автор: MAKCim 7.5.2008, 22:40 |
то, как они реализованы будет все равно только в том случае, если они вообще есть но в Linux их нет, и это не придирка ![]() ![]() в тех системах, где реализована концепция потоков, есть четкое разделение процессов (инкапсулируют ресурсы) и потоков (структуры данных планирования выполнения кода) в Linux такого разделения нет есть структурирование процессов на уровне самих процессов говорить о наличии многопоточности в Linux правильно только в контексте и терминах конкретной библиотеки, ее реализующей (NPTL, например) |
Автор: MAKCim 7.5.2008, 23:11 |
да в отличие от пайпов, домен AF_LOCAL определяет набор типов сокетов (как, впрочем, и любой другой домен) с разной семантикой использования стандартных операций над ними, что делает этот механизм более гибким нежели использование пайпов |
Автор: Олег2005 8.5.2008, 10:38 |
Специального предназначения нет ![]() Просто одновременно (а создание сокетов требует ресурсов) создаются два совершенно равнозначных дуплексных канала связи - а уж как из применять? это зависит от программиста. Обычно для управления потоками ввода/вывода другого приложения |
Автор: MAKCim 8.5.2008, 12:39 | ||
Женя, я не придираюсь, я просто люблю точность, уж извини ![]() |
Автор: GrayCardinal 8.5.2008, 12:45 |
MAKCim, Я бы попросил прекратить эти публичные душевные страдания по поводу "отсутствия потоков" и флеймить немного ближе к теме. Олег2005, Спасибо, этот аспект (насчет ресурсов) я не учёл. |
Автор: MAKCim 8.5.2008, 17:22 | ||
![]() не боись Добавлено @ 17:33 Олег2005, http://www.linux-m32r.org/lxr/http/source/net/socket.c#L1205 где ты здесь увидел одновременное создание пары сокетов? ![]() (я опять придираюсь?) |
Автор: Олег2005 8.5.2008, 17:44 | ||
MAKCim, Что такое ТУТ??? Сходил по ссылке - ну и что дальше?
Где в моем посте про - ТУТ?????????? Что то у вас не вяжется - я не понимаю в чем ко мне претензии??? ![]() |
Автор: GrayCardinal 8.5.2008, 18:00 |
MAKCim, ИМХО, тебе надо выспаться ![]() |
Автор: MAKCim 8.5.2008, 18:37 | ||
см. выделенное код sys_socketpair() показывает, что ничего одновременно не создается идет обычное последовательное создание двух сокетов в рамках одного системного вызова разница между обычным созданием сокетов и cозданием посредством sys_socketpair() заключается в отсутствии необходимости указания адреса (struct sockaddr_un) при вызове sys_socketpair() ты чертовски прав уже вторые сутки почти живу на работе ![]() однако посты у меня адекватные ![]() |