Возможно ли отправить команду wake on LAN на компьютер в локальной сети из браузера (без кода на стороне сервера). У меня полный контроль над сетью. Я хотел бы сделать это из браузера, работающего на планшете через Wi-Fi, на проводной компьютер в той же локальной сети. Я нашел код JavaScript Node.JS: https://github.com/agnat/node_wake_on_lan/blob/master/wake_on_lan.js , но я не знаю, будет ли он работать в браузере.Wake on lan из браузера через javascript
ответ
Узел основан на стороне сервера, он использует Javascript Runtime Environment, он не позволит вам запускать что-то, с чем у вас не будет доступа.
ZuLukas довольно прав. Вы не можете сделать это с помощью простого кода JavaScript. Вы можете найти что-то здесь: Держу пари, что это была бы ваша лучшая попытка без особых усилий.
Вам необходимо изучить PhoneGap, а затем построить гибридное приложение. Но, УВЕДОМЛЕНИЕ, что: JavaScript не может этого сделать. Хотя вы будете кодировать javascript для этого, он будет вызывать собственные ресурсы и не будет работать в среде браузера.
Вам нужна форма взаимодействия между системными вызовами, которые отправили бы «волшебный пакет» и ваш Javascript , Мне кажется, вы не сможете сделать это без какой-либо бэкэндовской колдовства, способной использовать системные вызовы. Javascript, по моему опыту, ограничивается выполнением действий на стороне клиента и возможностью разговаривать с сервером, но не контролировать его.
Но опять же, я не веб-разработчик. Мой ограниченный веб-интерфейс говорит мне, что вам нужно что-то поговорить с вашей операционной системой, которая в конечном итоге отправит волшебный пакет WoL.
Нет, вы не можете.
WoL необходимо отправить широковещательный пакет UDP в ЛВС. Но браузеры не предоставляют API для пакетов UDP.
Вам нужно либо серверное кодирование, либо плагины браузера. Вы можете написать свой собственный плагин, который использует udp api.
Nodejs специально предназначен для написания кода на стороне сервера. вы не можете сделать это без сервера. Однако вы можете купить небольшой компьютер, такой как малина pi, чтобы быть вашим сервером.
Вы должны:
- Купить небольшой простой компьютер, как Raspberry Pi или что-то подобное (этот компьютер должен быть включен все время, хотя)
- Установите узел на нем..
- Напишите javascript для малины, чтобы принимать команды из Интернета (например, расширение браузера), которые затем могут отправить локальный «волшебный пакет» на компьютер, который вы хотите проснуться.
- Затем создайте клиентскую программу. как расширение браузера или приложение Android, которое может отправлять HTTP-материалы на ваш сервер (малина pi).
Для написания кода сервера вы можете использовать https://www.npmjs.com/package/node-wol, который является библиотекой узлов.
Есть ли способ выйти из песочницы браузера и запустить исполняемый файл? – Type955
@ Type955 Вам, вероятно, придется заставить пользователя установить расширение браузера для него.В Windows вы можете сделать это с помощью Active X. – Barmar
@ Type955 Да, он называется [Native Messaging] (https://developer.chrome.com/extensions/nativeMessaging). Однако вы сказали «работать на планшете», который в зависимости от вашего определения планшета вообще не поддерживает расширения. – Xan