![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Межпроцессное взаимодействие, проблемы оптимизиции
kaZaNoVa © (2005-01-12 14:50:00)Как лучше, производительнее и оптимальнее реализовывать передачу данных от одного процесса к другому?
Условия - выпоняются на одном компьютере, система Windows XP и выше.
И кто какие предпочитает/юзает ))))
Просьба, по возможности, описывать преимущества и недостатки каждого =)
Eraser (2005-01-12 22:14:00) [21]Sumor
Истина где-то рядом )) или Pipe или сокеты.
Кстати, Sumor, если у тебя есть хорошие ссылочки на инфу по Pipe'ам скинь на мне на мыло, буду очень благодарен! Давно хочу разобраться в этой теме.
Sumor (2005-01-12 21:44:00) [22]Всё таки предпочитаю Pipe.
1. Они работают как на локальной машине, так и в сети.
2. работа с нии, почти как с файлами, поддержка security, встроенная функция ожидания информации (WaitForSingleObject). Возможность работы с формализованными сообщениями.
Arm79 (2005-01-12 17:51:00) [23]Eraser © (12.01.05 15:51) [5]
Как вариант, MSMQ. Можно писать и читать из очередей.
Игорь Шевченко (2005-01-12 16:49:00) [24]
> а как их юзать?
Как обычно
Piter (2005-01-12 16:47:00) [25]kaZaNoVa © (12.01.05 15:28) [3]
а если локально сокеты заюзать, это будет нормально, или неоптимально?
это будет очень не оптимально, не говоря уже о том, что TCP/IP протокол установлен не везде
Маг Похмеляйнен (2005-01-12 16:19:00) [26]>производительнее
именованный file mapping + 2 event-a для синхронизации (event "захватил" + event "изменил").
>оптимальнее
зависит от требований разработчика. Что передаётся, как часто, максимально допустимое время реакции и т.д.
kaZaNoVa (2005-01-12 16:16:00) [27]Kerk © (12.01.05 15:59) [7]
а как их юзать?
Kerk (2005-01-12 15:59:00) [28]kaZaNoVa © (12.01.05 15:55) [6]
> LPC
а это что такое?
Local Procedure Call
kaZaNoVa (2005-01-12 15:55:00) [29]Eraser © (12.01.05 15:51) [5]
точно !!
//я тоже так раз подумал, что с ними можно будет легко разнести программы =)))
Игорь Шевченко © (12.01.05 15:31) [4]
> LPC
а это что такое?
Eraser (2005-01-12 15:51:00) [30]kaZaNoVa
а если локально сокеты заюзать, это будет нормально, или неоптимально?
Это предпочтительно, потому что, поверь, раз тебе нужно чтобы программы взаимодействовали внутри одного компа, тебе вскором времени понадобится взаимодействие с другими компами. Используя сокеты тебе надо будет просто поменять IP адрес с 127.0.0.1 на какой тебя интересует и всё- твоё приложение полностью сетевое.
Игорь Шевченко (2005-01-12 15:31:00) [31]
> Как лучше, производительнее и оптимальнее реализовывать
> передачу данных от одного процесса к другому?
LPC
kaZaNoVa (2005-01-12 15:28:00) [32]VMcL © (12.01.05 15:04) [1]
а если локально сокеты заюзать, это будет нормально, или неоптимально?
Fay (2005-01-12 15:17:00) [33]pipes
VMcL (2005-01-12 15:04:00) [34]>> kaZaNoVa © (12.01.05 14:50)
WM_COPYDATA
SendMessage
PostMessage
MMF
...
"преимущества и недостатки каждого" зависят от конкретной задачи.