Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизIPC в MacOS&Win средствами Delphi XE2 Найти похожие ветки
← →
pasha_golub © (2012-02-28 19:35) [0]Ребята, есть ли какой универсальный метод межпроцессного взаимодействия, чтобы работал и под Win, и под Mac? Под виндой я сходу помню pipes, mapped files & messages. Хоть что-то из перечисленного существует в удобоваримом виде для Мака? Ну, и если об этом где написано хорошо, то прошу не стесняться, а забрасывать меня линками.
Спасибо
← →
Dimka Maslov © (2012-02-28 19:36) [1]сокеты вроде бы как вещь универсальная
← →
pasha_golub © (2012-02-28 19:38) [2]
> Dimka Maslov
Думал в эту сторону. Но так как сетевая тема для меня далека, то пока что пытаюсь зашориться в привычных рамках.
← →
CRLF (2012-02-28 19:58) [3]как минимум аналог анонимных пайпов должен быть.
← →
Dimka Maslov © (2012-02-28 20:54) [4]
> pasha_golub © (28.02.12 19:38) [2]
Там всего-то с десяток очень простых функций, которые одинаковые в венде, линупсе и маке.
← →
Игорь Шевченко © (2012-02-28 21:14) [5]Универальный метод межпроцессного взаимодействия - обмен файлами
← →
Dimka Maslov © (2012-02-28 21:18) [6]
> Универальный метод межпроцессного взаимодействия - обмен
> файлами
Тоже, кстати, вариант. Сам его активно использую.
← →
DVM © (2012-02-28 22:49) [7]
> pasha_golub © (28.02.12 19:35)
Файлы
Сокеты
Каналы
Именованные каналы
Семафоры
Разделяемая память
Системы, соответствующие POSIX это должны поддерживать. Т.е это точно есть и в Linux и в Windows и в MacOSX.
← →
DVM © (2012-02-28 22:51) [8]Еще универсальным методом обмена данными между процессами можно наверное считать передача данных через стандартный ввод-вывод, когда одна программа запускает другую передавая ей данные на стандартный ввод и получает ответ через стандартный вывод. В UNIX это вообще основа основ. В Windows и MacOS тоже естественно работает.
← →
Игорь Шевченко © (2012-02-28 23:03) [9]DVM © (28.02.12 22:51) [8]
Это и есть канал
← →
pasha_golub © (2012-02-29 10:16) [10]Спасибо, друзья.
Как бы сам факт того, что POSIX системы должны весь этот цирк поддерживать я, конечно, знаю. Думал, может есть в составе ХЕ2 классы-обертки, скрывающие низкоуровневую реализацию, чтобы не утонуть мне в директивах условной компиляции. Но как я понял, реализацию придется писать самому и с нуля.
← →
tesseract © (2012-02-29 12:44) [11]
> Но как я понял, реализацию придется писать самому и с нуля.
Перекрыть обертку над те-ми же именованными каналами?
Собственно очень часто для исключение проблем совместимости в unix используется tcp/ip.
← →
pasha_golub © (2012-02-29 14:22) [12]
> tesseract © (29.02.12 12:44) [11]
> Перекрыть обертку над те-ми же именованными каналами?
Где функции для работы с ними в MacOS? В документации, вообще, ноль, а модули MacAPI состоят сплошь из include"ов и искать там что-то трезвому невозможно.
← →
tesseract © (2012-02-29 17:25) [13]
> В документации, вообще, ноль,
Ну ты просто не работал с unix man. К ней реально приходится привыкать. В терминале набери man pipe :-) Или вот туточки : https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/pipe.2.html
← →
pasha_golub © (2012-03-01 12:58) [14]Если кому интересно, нашел, что IPC в MacOS можно делать через некий Mach API, который к большой радости объявлен в модуле Macapi.Mach
http://hurdextras.nongnu.org/ipc_guide/mach_ipc_basic_concepts.html
← →
CRLF (2012-03-01 13:37) [15]а как это поможет от "неохота всё оборачивать в кучу ифдефов"?
← →
pasha_golub © (2012-03-01 16:19) [16]
> CRLF (01.03.12 13:37) [15]
Да никак. Это так... информация по ходу размышления.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.072 c