Недавно вышел диск с Компьютеррой. Там прикручен поисковый движок Яндекса, который работает без установки веб-сервера на комп. Хотелось бы узнать как это работает, с целью написать приложение, взаимодействующее с браузером подобным образом, может кто разъяснит? Для работы движка необходимо выполнить команду: yandexCD.exe -yandexcd {FD079550-270C-11d8-8C11-000347A83D58} 17333 yandexCD.exe - реально существующий ехе-шник 17333 - порт, по которому ведется обмен -yandexcd {FD079550-270C-11d8-8C11-000347A83D58} - что это такое - непонятно Сама хтмл-ка с поиском выглядит так (угловые скобки заменил на квадратные, чтобы форум не стал их интерпретировать): HTML: [BODY onload="Reload();"] [SCRIPT] [!--- function Reload() { document.location.href = "http://localhost:17333/"; } // --] [/SCRIPT] [/BODY] [/HTML> Насколько я понимаю, команда, описанная выше регистрирует сервак, слушающий порт 17333, а хтмл-ка редиректит браузер на этот сервак. Но как такое сделать и что собственно происходит при выполнении команды?
1. параметр у .exe (есть такие, типа format C: - с: - параметр ) 2. номер - UID какого нить ActiveX зарегиный самим yandexCD.exe (у себя не нашел) ты сам уже ответил
имхо это подключаемый протокол (pluggable protocol) для интернетэксплорера, то есть все запросы начинающие с yandexcd переправляются к нему и он возвращает результат. так например сделано в локальном мсдне (протоколы ms-help, ms-its) если вопрос был про то как написать такой протокол то вот это может помочь http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q260528&
Заранее извиняюсь за несколько путанное изложение проблемы. Я не совсем (совсем не ) понимаю, как работает поисковый движок без веб сервера и поэтому трудно подобрать нужные термины. pegas, По ссылке, данной вами, говорится, что протокол для IE, но поиск работает с любым браузером, не только с IE. Не совсем понял. Для поиска вызывается ХТМЛ страница, код которой приведен выше. Строчка: document.location.href = "http://localhost:17333/"; наводит на мысль, что при выполнении команды: yandexCD.exe -yandexcd {FD079550-270C-11d8-8C11-000347A83D58} 17333 в ОС инсталлится(?) http сервер, слушающий 17333 порт. После перезагрузки компа поиск перестает работать, пока опять не выполнишь вышенаписанную команду. Инетересует вопрос: как заставить работать поисковый движок без стороннего веб сервера. В рамках магистерского дисера занимаюсь информационным поиском. Понравилась идея прикручивания движка без стороннего веб сервера, чтоб можно было показывать результаты работы, не инсталля веб сервер каждый раз. Hermes добавил [date]1079644891[/date]: Vaulter, что это параметры, понятно А по поводу ActiveX можно поподробней? Вы хотите сказать, что в этом компоненте ActiveX реализован http сервер?
Посмотри, висит ли у тебя в процессах yandexCD.exe. Если да, то скорее всего yandexCD.exe - это локальный веб-сервер. Судя по коду в HTML, взаимодействие с yandexCD.exe идет по http, а не через создание ActiveX. Врядли ты сможешь выдернуть движок яндекса оттуда. Во-первых, яндекс не такой *****, чтобы свои движки раздавать нахаляву. Во-вторых, чтобы взаимодействовать с ActiveX, тебе еще нужно знать его API, что тоже является недоступным. Вообщем, движок яндекса слишком крут для магистерского диссера. За него нужно доктора наук давать.