|
|
|
Передача данных м-у приложениями
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Не подскажете каким способом быстрее всего передавать информацию между приложениями? Сиуация: есть сервис на Win 2000 и запускается CGI скрипт из под IIS. Нужно передать от скрипта к сервису и обратно какую-то информацию (около 1.5 мб туда и обратно). Каким протоколом можно воспользоваться и какой будет быстрее? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2002, 17:47:05 |
|
||
|
Передача данных м-у приложениями
|
|||
|---|---|---|---|
|
#18+
Именованые каналы, сокеты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2002, 18:13:25 |
|
||
|
Передача данных м-у приложениями
|
|||
|---|---|---|---|
|
#18+
А FileMapping побыстрее будет! Правда работать с ним сложнее и в данной ситуации может быть не лучшим решением. Зато теперь ответ исчерпывающий. ______ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 07:10:57 |
|
||
|
Передача данных м-у приложениями
|
|||
|---|---|---|---|
|
#18+
еще: майлслоты, WM_COPYDATA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 09:50:48 |
|
||
|
Передача данных м-у приложениями
|
|||
|---|---|---|---|
|
#18+
Спасибо за отзывы, но... Прав у пользователя IUSR_DOMAIN для того, что бы посылать сообщения (WM_COPYDATA) сервису, увы, нет, а CGI-скрипт запускается из-под IIS именно с этими правами. FileMapping мог бы подойти, но как передать сообщение сервису о том, что информация обновилась (что бы он постоянно не сканировал этот расшаренный файл)? Сокеты - вариант хороший, с ним и работаю, но при большой загрузке машины (В смысле траффика) работает медленно. Ищу более быстрый вариант... Кстати, а по поводу Named Pipes - там ведь тоже надо сервису посоянно сканировать канал на предмет обновления информации, или же есть механизм сообщения приложению о том, что информация изменилась? Подскажите, плз, никогда с ними не работал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 12:05:37 |
|
||
|
Передача данных м-у приложениями
|
|||
|---|---|---|---|
|
#18+
С пайпами и майлслотами не нужно ничего сканировать. Просто поток будет простаивать в ожидании через функцию WaitForSingleObject. С остальными можно такое же проделать, если дополнительно задействать объект ядра Event (см. MSDN). Его засигналенного состояния тоже можно ожидать через WaitForSingleObject. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2002, 13:43:40 |
|
||
|
Передача данных м-у приложениями
|
|||
|---|---|---|---|
|
#18+
Прикалываться так по полной... Еще DDE, OLE. Да и объектов синхронизации поболее будет: Mutex, Semaphore, при желании (зачем? а просто так!) можно и CriticalSection приделать. ______ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 14:17:31 |
|
||
|
Передача данных м-у приложениями
|
|||
|---|---|---|---|
|
#18+
DDE и OLE - не очень подходят из-за громоздкости и медлительности, а вот на счет WaitForSingleObject - вот за это спасибо!, совсем забыл про него (т.к. никогда не было надобности использовать). Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2002, 17:19:45 |
|
||
|
|

start [/forum/search_topic.php?author=dinc18&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
83ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 2472ms |
| total: | 2701ms |

| 0 / 0 |
