Взаимодействие между JavaScript и Windows Service
От: LWhisper  
Дата: 21.04.15 01:58
Оценка:
Приветствую.
Подскажите, пожалуйста, как лучше организовать взаимодействие между JS-скриптом на HTML-странице и локальной службой Windows?
Нужно отправить текстовый запрос и получить ответ.
Можно запустить в рамках службы HTTP-сервер, но хотелось бы обойтись менее громоздким решением.
javascript interaction web
Re: Взаимодействие между JavaScript и Windows Service
От: kr510  
Дата: 21.04.15 03:38
Оценка: -4
Здравствуйте, LWhisper, Вы писали:

LW>Приветствую.

LW>Подскажите, пожалуйста, как лучше организовать взаимодействие между JS-скриптом на HTML-странице и локальной службой Windows?

Qt+Webkit.
Re: Взаимодействие между JavaScript и Windows Service
От: DTB Россия  
Дата: 21.04.15 09:10
Оценка: +3
Здравствуйте, LWhisper, Вы писали:

LW>Приветствую.

LW>Подскажите, пожалуйста, как лучше организовать взаимодействие между JS-скриптом на HTML-странице и локальной службой Windows?
LW>Нужно отправить текстовый запрос и получить ответ.
LW>Можно запустить в рамках службы HTTP-сервер, но хотелось бы обойтись менее громоздким решением.

Остальные варианты (ActiveX,SOAP,socket.io т.д.) еще более громоздки, готовых библиотек, реализующих функционал HTTP сервера — куча, это все делается за пару часов
Have fun...
Re: Взаимодействие между JavaScript и Windows Service
От: Sharov Россия  
Дата: 21.04.15 10:34
Оценка:
Здравствуйте, LWhisper, Вы писали:

Если .net, то смотрите на NancyFx.
Кодом людям нужно помогать!
Re[2]: Взаимодействие между JavaScript и Windows Service
От: LWhisper  
Дата: 24.04.15 00:00
Оценка:
Здравствуйте, DTB, Вы писали:
DTB>Остальные варианты (ActiveX,SOAP,socket.io т.д.) еще более громоздки, готовых библиотек, реализующих функционал HTTP сервера — куча, это все делается за пару часов
ActiveX морально устарел, SOAP, как вариант, интересен, а сокет более чем устроил бы. Существует способ поточного взаимодействия между JS и сервисом, используя TCP-Socket?
Реализовать HTTP-сервер не сложно, просто это использование не по назначению.

И да, речь идёт о ванильном JS без node.js, socket.io, jquery и прочей хрени.
Отредактировано 24.04.2015 0:02 LWhisper . Предыдущая версия .
Re[2]: Взаимодействие между JavaScript и Windows Service
От: LWhisper  
Дата: 24.04.15 00:26
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Если .net, то смотрите на NancyFx.

Хм. А зачем, если существует стандартный HttpListener?
Ведь у меня Windows Service, а не Web-приложение.
Насколько я понимаю, NancyFx — это замена ASP.NET. У меня же нет ни HTML-страниц, ни прочего WEB-контента. Лишь клиент, который присылает текстовую строчку и ждёт ответной строки.
Re[3]: Взаимодействие между JavaScript и Windows Service
От: andrey82  
Дата: 24.04.15 07:34
Оценка:
Здравствуйте, LWhisper, Вы писали:

S>>Если .net, то смотрите на NancyFx.

LW>Хм. А зачем, если существует стандартный HttpListener?
LW>Ведь у меня Windows Service, а не Web-приложение.

Как еще одна альтернатива — сделать встроенный REST сервис на основе WCF: ServiceHost + [WebInvoke] метод(ы) + webHttp конечная точка.
Re[3]: Взаимодействие между JavaScript и Windows Service
От: Sharov Россия  
Дата: 24.04.15 10:41
Оценка:
Здравствуйте, LWhisper, Вы писали:

LW>Хм. А зачем, если существует стандартный HttpListener?

LW>Ведь у меня Windows Service, а не Web-приложение.
LW>Насколько я понимаю, NancyFx — это замена ASP.NET. У меня же нет ни HTML-страниц, ни прочего WEB-контента. Лишь клиент, который присылает текстовую строчку и ждёт ответной строки.

Логично, посмотрите на websocket'ы и сервер для .net -- https://github.com/kerryjiang/SuperWebSocket
Кодом людям нужно помогать!
Re[3]: Взаимодействие между JavaScript и Windows Service
От: c-smile Канада http://terrainformatica.com
Дата: 26.04.15 20:13
Оценка: 3 (1)
Здравствуйте, LWhisper, Вы писали:

LW>И да, речь идёт о ванильном JS без node.js, socket.io, jquery и прочей хрени.


Как бы есть TCPSocket : https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket

chrome.experimental.socket.create('tcp', '127.0.0.1', 8080, function(socketInfo) {
  chrome.experimental.socket.connect(socketInfo.socketId, function (result) {
        chrome.experimental.socket.write(socketInfo.socketId, "Hello, world!");         
    });
});


Но сомневаюсь что мы доживем до его повсеместного появления. Ибо дыра в безопасности.

Проще и сейчас ничего кроме http://local:1234 ничего сделать нельзя.
Re: Взаимодействие между JavaScript и Windows Service
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.04.15 12:13
Оценка: +1
Здравствуйте, LWhisper, Вы писали:

LW>Приветствую.

LW>Подскажите, пожалуйста, как лучше организовать взаимодействие между JS-скриптом на HTML-странице и локальной службой Windows?
LW>Нужно отправить текстовый запрос и получить ответ.
LW>Можно запустить в рамках службы HTTP-сервер, но хотелось бы обойтись менее громоздким решением.
HTTP — это НЕ громоздкое решение. Вы его путаете с HTML, поэтому вам кажется всякое.
Сам по себе он отличный протокол:
1. Работает из коробки в JavaScript. Это означает, что вы сможете его отлаживать без проблем. Любые "менее громоздкие" протоколы съедят вам мозг, когда вы будете пытаться разобраться, что за хрень идет в соединении, или почему в джаваскрипте так и не появились нужные вам данные.
2. Позволяет иметь очень маленький footprint. Вы не обязаны реализовывать всевозможные кунштюки — начинаете с обработки банального GET, игнорируя все хидеры, а на всё остальное отдаёте 400 Bad Request. То есть код сервера может быть построен вообще на голых сокетах, без каких-либо фреймворков.
3. Позволяет вам легко расширять протокол. Вам не надо мучиться, изобретая способ задетектить версию локального сервиса — достаточно просто сохранять обратную совместимость по урлам.
4. Не требует удержания соединения, так что вам не придётся мучиться с восстановлением потерянного соединения при закрытии клиента или рестарте сервиса.
5. Решает ещё с десяток проблем, о которых вы пока не задумывались, но которые возникнут по мере роста ваших потребностей.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Взаимодействие между JavaScript и Windows Service
От: mapnik США http://www.hooli.xyz/
Дата: 28.04.15 12:53
Оценка:
Здравствуйте, LWhisper, Вы писали:

LW>Хм. А зачем, если существует стандартный HttpListener?


Озвучьте платформу. Если .net то можно попробовать обойтись HttpListener, если с++ то можно использовать Proxygen от fb
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.