Обмен данными |
Здравствуйте, гость ( Вход | Регистрация )
Обмен данными |
gpepsi |
11.8.2011, 16:42
Сообщение
#1
|
Студент Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть ли что удобное для межпроссового взаимодействия кроме сокетов?
P.S. Вопрос интересует как для процессов (служб) так и для удаленных машин |
|
|
PAFOS |
12.8.2011, 8:21
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Если из кроссплатформенного, то QSharedMemory - участок памяти, который доступен множеству процессов. Недостаток - только в пределах локальной машины.
Из удаленного - CORBA(Кросс), COM, DCOM(QAxContainer, QAxServer), DBUS(QtDBus). Причем эти технологии можно использовать и в пределах одной машины. Недостатки - сложно сделать что-то кроссплатформенное) |
|
|
ssoft |
15.8.2011, 7:46
Сообщение
#3
|
Участник Группа: Участник Сообщений: 130 Регистрация: 17.2.2010 Из: Москва Пользователь №: 1470 Спасибо сказали: 30 раз(а) Репутация: 3 |
Есть ли что удобное для межпроссового взаимодействия кроме сокетов? P.S. Вопрос интересует как для процессов (служб) так и для удаленных машин Если вопрос касается Qt, то см. документацию Inter-Process Communication in Qt.
На всех ОС Стабильно работает только TCP/IP. Shared Memory частенко глючит под Linux. D-Bus только для Unix систем. QCOP доступно только для Embedded Linux. Вообще, для организации межпроцессного взаимодействия лучше TCP/IP в Qt ничего нет. Если нужно организовать межпроцессный сигнал-слот обмен, либо удаленный вызов методов объектов Qt, то можно использовать, например, библиотеку QexRemint. https://sourceforge.net/projects/qexremint/ |
|
|
Текстовая версия | Сейчас: 26.4.2024, 4:41 |