Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.051 c
2-1336031343
igorium
2012-05-03 11:49
2013.03.22
Как узнать язык Windows (русский или нет)


2-1330521256
Мальчик
2012-02-29 17:14
2013.03.22
Delphi - ADO - DBF (Ошибка синтаксиса)


2-1329910656
SIV5000
2012-02-22 15:37
2013.03.22
Копирование файлов ОС


2-1339398926
Handler
2012-06-11 11:15
2013.03.22
сравнение строк


15-1353500246
ЕщеОдинКакжеНадоели
2012-11-21 16:17
2013.03.22
Документация к программе.